【问题标题】:Angular (CLI) 6 - Local library publishingAngular (CLI) 6 - 本地库发布
【发布时间】:2018-11-23 03:59:07
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    就我而言,问题是我的 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/*"
    ]
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 你的意思是在 index.ts 文件中吗?我已经完成了:“从 './myLibrary.module' 导出 *”
        • angular 2+ 总是需要在 Ngmodule 和 export appmodule 上添加组件。您可能错过了在 app.module 上导入,或者您没有正确导出。这是一个常见的错误,你会修复它
        猜你喜欢
        • 2020-10-21
        • 2019-04-24
        • 1970-01-01
        • 2023-03-25
        • 2017-07-06
        • 2019-07-20
        • 2021-05-11
        • 1970-01-01
        • 2015-12-26
        相关资源
        最近更新 更多