Typescript/yarn 工作区 - 引用的项目可能不会禁用发射

nse*_*ier 11 typescript react-native yarn-workspaces

我正在尝试使用打字稿和纱线工作区设置一个 monorepo 项目。

该项目的结构如下所示:

/example
/packages
  /lib1
Run Code Online (Sandbox Code Playgroud)

示例是一个使用这些包用于开发目的的应用程序。

当我使用时yarn tsc --build --force,我收到以下错误:

example/tsconfig.json:6:18 - error TS6310: Referenced project '/packages/intro' may not disable emit.
Run Code Online (Sandbox Code Playgroud)

这是 tsconfig.json 的示例:

/example
/packages
  /lib1
Run Code Online (Sandbox Code Playgroud)

以及项目根部的一个:

example/tsconfig.json:6:18 - error TS6310: Referenced project '/packages/intro' may not disable emit.
Run Code Online (Sandbox Code Playgroud)

以及 lib1 的 tsconfig.json:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "./lib"
  },
  "references": [{ "path": "../packages/intro" }]
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我确实noEmit设置了true,所以我不明白错误是什么。我尝试直接在每个 tsconfig 文件中设置值,但没有按预期执行任何操作。

Mal*_*tis -8

Setting noEmit to true disables emitting, which is what the error is saying. You need to set noEmit to false to enable emitting.

  • 如果我实际上不想发出怎么办? (10认同)
  • 我严格只使用“tsc”进行类型检查和不同的构建工具 (3认同)