Angular(CLI)6 - 本地库发布

时间:2018-06-13 14:14:08

标签: angular angular-cli angular-cli-v6

我使用新的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'

3 个答案:

答案 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/*"
]