SCR*_*ATK 7 angular nrwl angular7 nrwl-nx
我刚刚为工作创建了一个新的 NX 项目,并为输出接口创建了一个库,以便将它们放在后端和前端。
编译时出现此错误
apps/askeddi/src/app/pages/global-admin/global-admin.component.ts(5,38): error TS2307: Cannot find module '@eduboard/interfaces'.
Run Code Online (Sandbox Code Playgroud)
从我读到的所有内容来看,我没有做错任何事情,但它要求一个模块,它只是一个 index.ts 文件。
export * from './lib/user';
export * from './lib/global-admin-dashboard';
Run Code Online (Sandbox Code Playgroud)
这是 global-admin-dashboard
interface Schools {
total: number;
active: number;
usingAssessor: number;
}
interface TotalNActive {
total: number;
active: number;
}
export interface GlobalAdminDashboard {
schools: Schools;
schoolGroups: TotalNActive;
users: TotalNActive;
}
Run Code Online (Sandbox Code Playgroud)
Aci*_*dic 15
您需要指定 TypeScript 的库位置。
将您的库添加到tsconfig.json项目的根目录下"paths":
{
"compilerOptions": {
...
"paths": {
"@package/my-lib": ["libs/my-lib/src/index.ts"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可能需要重新加载 VSCode 才能让 TypeScript 重新加载tsconfig.json.
我发现了如何解决我的问题。
所以在tsconfig.app.json文件内部,我将它添加到路径中。
"@eduboard/interfaces" : [
"../../../libs/interfaces/src/index"
]
Run Code Online (Sandbox Code Playgroud)
我不得不回去一些,因为我baseURL有一套src/
nx团队应该注意这个问题。当我尝试 nx.dev 网站上的教程时,我遇到了同样的问题。我在其他线程上读到,如果删除 node_modules 文件夹并重新运行 npm install,问题就会消失。我尝试了一下并且成功了。真是令人失望。
正如另一个答案中提到的,我认为您不需要在使用该库的每个项目中指定路径。这破坏了 nx 提供的一些基本架构/优点。
| 归档时间: |
|
| 查看次数: |
4265 次 |
| 最近记录: |