我使用新的angular-cli命令创建了我的第一个库:library。
在我构建库之后,我想将它导入到现有项目中(不发布到npm),但遗憾的是没有运气..实际上,如果我将其复制到node_modules中,它会起作用,但是我必须每次都这样做我更新了我的node_modules文件夹。因此,我想在根目录中有一个文件夹(libs),我可以存储和引用所有(自制)库。
我尝试制作文件夹并将库粘贴到其中,并在tsconfig中添加了路径选项。这导致“无法找到模块”错误(我想我在cli设置中遗漏了一些内容,但我无法弄清楚是什么)
你知道我错过了什么吗?或者你对这种情况有另一种方法吗?
谢谢:)
编辑:
tsconfig.json:
{
"compilerOptions": {
// code omitted for brevity
"paths": {
"my-lib": ["./libs/my-lib"],
}
}
在app.module.ts中导入
import { MyLibraryModule } from 'my-lib'
答案 0 :(得分:2)
好的,所以我找到了解决方案。我将库保存在libs文件夹中,并执行了“ npm install / absolute / path / to / my / library --save”。 (这将创建对本地库的引用,而不是npm)
希望它可以帮助任何人;)
答案 1 :(得分:0)
您是否也导出“./libs/my-lib”以使其可用?
答案 2 :(得分:0)
在我的情况下,问题是我的baseUrl是“ src”,而我的“ paths”配置是
"ngx-y-x": [
"dist/ngx-y-x"
],
"ngx-y-x/*": [
"dist/ngx-y-x/*"
]
因此,从“ src”中尝试找到不存在的“ dist”-我必须返回上一级。
"ngx-y-x": [
"../dist/ngx-y-x"
],
"ngx-y-x/*": [
"../dist/ngx-y-x/*"
]