【发布时间】:2019-07-23 05:08:20
【问题描述】:
我正在尝试找到在 Angular 中导入库的修复程序。
我在github 关注这个未解决的问题。
我无法理解这一点。我的第一个库已构建,并且在 dist 文件夹和我的新库中,当我尝试导入时出现各种错误。
我尝试过的步骤
1) 根据 github 上的 open issue 在编译器选项下导入 tsconfig.lib.json
在 NgModule 中导入未发布的库
import {MyWidgetsModule} from "../../../my-widgets/src/lib/my-widgets.module";
甚至尝试过
import {MyWidgetsModule} from "my-widgets";
"paths": {
"my-widgets/*": [
"dist/my-widgets/*"
]
}
},
错误堆栈
'rootDir' 应该包含所有源文件。
2)
如果我删除了 ngModule 中的模块导入,我会收到无法找到的错误 模块。
注意
我的主 tsconfig 文件包含所有正确的导入。
我使用 Angular cli 命令 ng g library <name> 构建这两个库
编辑
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"baseUrl": "src",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2016",
"dom"
],
"paths": {
"my-widgets": [
"dist/my-widgets"
],
"my-widgets/*": [
"dist/my-widgets/*"
],
"my-widgets-extn": [
"dist/my-widgets-extn"
],
"my-widgets-extn/*": [
"dist/my-widgets-extn/*"
],
"my-framework": [
"dist/my-framework"
],
"my-framework/*": [
"dist/my-framework/*"
],
"my-framework-extn": [
"dist/my-framework-extn"
],
"my-framework-extn/*": [
"dist/my-framework-extn/*"
]
}
}
}
我已经创建了四个库,所以请不要混淆..
【问题讨论】:
-
我认为主要问题是您使用
../../类似路径而不是@my-widgets/路径导入。你的项目在 github 上吗?可以分享一下吗? -
@ibenjelloun 如果你看到
even tried with import {MyWidgetsModule} from "my-widgets";的问题,我都试过了,它不在 git 上,我不认为我可以分享这个 -
你至少可以分享你的
tsconfig.json吗? -
主应用的Tsconfig.json或lib的json
-
主应用程序,包含由 nx 工作区生成的剪切路径。
标签: angular angular-cli angular-library