tsc-b foo bar-watch只构建foo,而不构建bar



我有一个TypeScript包(使用yarn 2作为包管理器(,它有两个不同的源树:

|- src-bin
- src

src-bin中的源以节点为目标,而src中的源则以浏览器环境为目标。因此,我有两个不同的tsconfig.json文件。

我通常使用tsc -b . src-bin构建它们,它工作得很好。

然而,在";"手表模式";,tsc只编译并监视src,而不编译和监视src-bin

我实际上能够使用项目引用来解决它:

tsconfig.json(用于src(:

{
"extends": "../tsconfig.base.json",
"include": ["src/**/*.ts", "src/**/*.tsx"],
"references": [{ "path": "src-bin" }],
"compilerOptions": {
"types": [],
"rootDir": "src",
"outDir": "build",
"noEmit": false,
"declaration": true,
"composite": true
}
}

src-bin/tsconfig.json(用于src-bin(:

{
"extends": "../../tsconfig.base.json",
"include": ["**/*.ts"],
"compilerOptions": {
"types": ["node"],
"rootDir": ".",
"outDir": "../build/bin",
"noEmit": false,
"declaration": true,
"composite": true
}
}

运行tsc -b --watch现在编译BOTH源树。

最新更新