zoukankan      html  css  js  c++  java
  • 使用TypeScript开发js库:@develon/js

    webpack.config.js 相关字段

    • output.libraryTarget
      包括var(默认值,用于web场景)、umdcommonjs[2]amd等选项,如果webpack编译后在其它包中导入时一直是空对象{},那么你该了解一下这个字段了。
            output: {
                filename: '[name]/index.js',
                path: DIR_DIST,
                libraryTarget: 'umd', // 包括var(默认值,用于web场景)、commonjs[2]、amd等选项
            },
    
    • resolve.extensions
      你应该不想每次导入模块都写全称: import('./index'); 而不是 import('./index.ts');
            resolve: {
                extensions: ['.wasm', '.mjs', '.js', '.json', '.ts'], // 添加.ts解析
            },
    

    添加babel支持

    安装babel-loader及其依赖:

    yarn add babel-loader @babel/core @babel/preset-env @babel/preset-typescript @babel/plugin-proposal-class-properties 
    

    配置babel.config.json:

    {
        "plugins": [
            "@babel/plugin-proposal-class-properties"
        ],
        "presets": [
            [
                "@babel/preset-env",
                {
                    "targets": {
                        "node": "12.19.0"
                    }
                }
            ],
            [
                "@babel/preset-typescript",
                {
                    "allowNamespaces": false
                }
            ]
        ]
    }
    

    配置tsconfig.json文件

    该文件不被Babel的TypeScript预设使用,只能控制一些IDE的行为,以及tsc构建。

    tsconfig.json:
    {
        "include": ["./src"],
        "compilerOptions": {
            "target": "ES6",
            "lib": ["ES6"],
            "module": "CommonJS",
            "moduleResolution": "Node",
            "declaration": true,
            "declarationDir": "./lib",
            "outDir": "./test",
        },
    }
    
    tsconfig.build.json:
    {
        "extends": "./tsconfig.json",
        "exclude": ["./src/test.ts"], // test.ts由node-dev-server使用
        "compilerOptions": {
            "module": "UMD",
            "outDir": "./lib",
        },
    }
    

    end

  • 相关阅读:
    java (java.exe) 解释器 -D 选项
    Ubuntu 12.04.3 X64 使用 NFS 作为文件共享存储方式 安装 Oracle11g RAC
    Ubuntu下 Oracle sqldeveloper中文目录、文件,select查询结果中:中文乱码
    行测题型
    Left join on where 区别
    常见公文——决定和请示
    宜家沙发测评
    "放管服"改革 清单
    shell && and ||
    ORA-01722: invalid number
  • 原文地址:https://www.cnblogs.com/develon/p/13889971.html
Copyright © 2011-2022 走看看