4

我使用新的 angular-cli 命令创建了我的第一个库:library.

构建库后,我想将其导入现有项目(不发布到 npm),但不幸的是没有运气。实际上,如果我将它复制到 node_modules 中,它可以工作,但是每次更新时我都必须这样做我的 node_modules 文件夹。因此,我想在根目录中有一个文件夹(libs),我可以在其中存储和引用我的所有(自制)库。

我尝试创建文件夹并将库粘贴到其中,并在 tsconfig.xml 中添加了路径选项。这会导致“找不到模块”错误(我想我在 cli 设置中遗漏了一些东西,但我不知道是什么)

你知道我错过了什么吗?或者您对这种情况有另一种方法吗?

谢谢 :)

编辑:

tsconfig.json:

{
 "compilerOptions": {
 // code omitted for brevity
  "paths": {
    "my-lib": ["./libs/my-lib"],
  }
}

在 app.module.ts 中导入

import { MyLibraryModule } from 'my-lib'
4

3 回答 3

3

好的,所以我找到了解决方案。我将库保存在 libs 文件夹中,并执行“npm install /absolute/path/to/my/library --save”,这似乎是这样做的方法。(这会创建对本地库而不是 npm 的引用)

希望它可以帮助那里的任何人;)

于 2018-06-19T11:25:50.253 回答
0

您是否还导出“./libs/my-lib”以使其可用?

于 2018-06-18T09:38:24.667 回答
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/*"
]
于 2020-01-30T10:43:12.690 回答