NPM Workspace monorepo:TSC 失败,在库中找不到用于导入的模块

问题描述 投票:0回答:1

我对 npm monorepo 有以下设置:https://github.com/ChristianKernDev/monorepo_playground

一切都按预期工作,除了

tsc
命令,它显示以下错误:
../common/src/index.ts:1:17 - error TS2307: Cannot find module 'test/a' or its corresponding type declarations.

这意味着编译器无法正确导入子模块中的直接路径。我该如何解决这个问题?

typescript tsc npm-workspaces
1个回答
0
投票

有多个点:

  1. 您的工作区设置无需运行即可运行
    npm link
    。请参阅相关文档。只要跑步
    npm install
    就足够了。
  2. common
    中添加对
    app/tsconfig.json
    lib 的引用:
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    ...
  },
  "references": [
    { "path": "../common" }
  ],
  "include": [
    ...
  ]
}
  1. 现在为了参考工作,在基本 tsconfig 中进行以下更改
{
  "compilerOptions": {
    ...
    "emitDeclarationOnly": true,
    "composite": true
  },
}
  1. 现在您可以在项目根目录中使用以下命令构建所有工作区:
npm run --workspaces
© www.soinside.com 2019 - 2024. All rights reserved.