Shl*_*evi 5 node.js typescript visual-studio-code lerna monorepo
我用lerna创建了一个monorepo(github中的代码)。
里面我有两个包,每个包都有导出sum功能。
在app1文件夹中我想导入这个函数,但 vscode 没有找到该函数。
不知道为什么。我正确设置了所有内容,vscode 应该从两个路径提供:
@packages/pck1
@packages/pck2
Run Code Online (Sandbox Code Playgroud)
/tsconfig.json
{
"extends": "./tsconfig.build.json",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@packages/*": ["packages/*/src"]
},
"jsx": "react",
"esModuleInterop": true,
"skipLibCheck": true,
"types": []
}
}
Run Code Online (Sandbox Code Playgroud)
如果你可以克隆我的 repo-run npm install,然后打开 vscode 并转到apps/app1/src/index.ts并写入sum. 等待打字稿找到该函数。你会得到:
找不到原因,任何帮助将不胜感激。
如果您使用范围包,它们将被称为@pck1和@pck2,而不是@packages/SOMETHING像您的顶级tsconfig.json建议的那样。
我可以让你的例子工作如下:
将这些添加compilerOptions到apps/app1/tsconfig.json:
"baseUrl": ".",
"paths": {
"@pck1": ["../../packages/pck1/src"]
}
Run Code Online (Sandbox Code Playgroud)
并改变apps/app1/src/index.ts:
import { sum } from '@pck1';
sum(9,9);
Run Code Online (Sandbox Code Playgroud)
您的基本错误是:您考虑了packages包名称的一部分,但它只是一个目录。我为此在 github 上创建了一个 PR: https: //github.com/wizardnet972/lerna-test/pull/1
我在 github 上有一个类似的 lerna 测试项目:https://github.com/gflohr/lerna-deps。博客文章http://www.guido-flohr.net/lerna-mono-repos-with-internal-dependencies/对此进行了解释。也许您可以以此为起点。
| 归档时间: |
|
| 查看次数: |
2059 次 |
| 最近记录: |