ts项目公共库的配置

首先是tsconfig.json的配置

涉及两个配置,baseUrl和paths。

参考以下文件结构

/lib/common/A.ts

export class A{}

/lib/common/B.ts

export defalut class B{}

以上文件都存在于全局路径中,并且可能会被多个ts项目引用,则每一个ts项目的tsconfig.json可如下配置。

{
  // 省略其他配置
  "compilerOptions": {
    "baseUrl": "/lib",
    "paths": {
      "common/*": [
        "common/*"
      ]
    }
  }
}

在ts项目中可以如下方式import

import { A } from "common/A";
import B from "common/B";

const a = new A();
const b = new B();

如果使用webpack打包,以下是webpack的配置:

// 省略其他配置
resolve: {
        // 依赖的库
        alias: {
            "common": path.resolve("/lib/common")
        },
        // import时添加的扩展名
        extensions: [
            '.ts'
        ]
    }