我在项目文件夹中都有一个我的应用程序要使用的Angular 7库。当我从编译的库中自动导入时,Visual Studio Code会在引用中使用公共api曲面的路径,如下所示:
import { ModuleName } from '@org/lib/public-api';
这会导致应用程序中的编译错误:
ERROR in src/app/app.module.ts(9,28): Error during template compile of 'AppModule'
[2] Could not resolve @org/lib relative to [object Object]..
当我手动修复导入以删除“ public-api”部分时,如下所示:
import { ModuleName } from '@org/lib';
该应用重新编译即可。我认为我没有更改任何默认配置。这就是我的tsconfig在工作区根目录中的样子,而我的库和应用程序tsconfigs只是ng generate
工作区tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"],
"paths": {
"@org/lib": ["dist/org-lib"],
"@org/lib/*": ["dist/org-lib/*"]
}
}
}
以前有人来过吗?
答案 0 :(得分:0)
如果以后有人遇到这个问题,可以通过查看如何为本地开发设置角度项目来找到答案。除了他们的public_api文件之外,他们还有一个index.ts,其中只有
export * from './public_api';
这使您可以在开发过程中在库之间进行交叉引用。