【问题标题】:Angular library - Module not found: Error: Cannot resolve moduleAngular 库 - 找不到模块:错误:无法解析模块
【发布时间】:2021-11-24 05:30:16
【问题描述】:

我有一个简单的例子:

  1. 我根据官方文档在工作空间内创建 Angular 库:
ng new workspace-test --create-application=false
cd workspace-test
ng generate library lib-test
  1. 然后我构建库并从 ./dist/lib-test 目录为它创建 npm 链接:
ng build lib-test
npm link
  1. 然后我创建最简单的 Angular 应用程序:
ng new app-test
  1. 现在我将我的应用程序链接到库:
npm link lib-test
  1. 当我尝试在应用程序中使用库时,出现异常
 Error: Module not found: Error: Can't resolve '../../../workspace-test/dist/lib-test/lib/lib-test.component' in 'C:\dev\app-test\src\app'
  1. 我在应用程序中对库的使用:
import { LibTestModule } from '../../../workspace-test/dest/lib-test'


...


imports: [
   LibTestModule ,

我不知道发生了什么,如何使它工作?它是基本的例子。

【问题讨论】:

  • 你 npm 链接它,但你似乎从本地路径导入它?只需从“lib-test”导入?
  • 成功了!但是现在当我在浏览器中打开应用程序时,我在控制台中收到一个错误:错误:必须从注入上下文调用注入()

标签: angular angular-library angular12


【解决方案1】:

如果你想在另一个本地项目中使用本地库,那么你的库构建应该在项目的 node_modules 文件夹中

解决方案 将库构建目标更改为项目的 node_modules

  • 假设您有以下文件夹

  • 转到my-lib>projects>my-lib>ng-package.json文件

  • 将目标更改为"../../../my-project/node_modules/my-lib"

  • 建立你的图书馆

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 2018-01-20
    • 2017-05-22
    • 2017-03-04
    相关资源
    最近更新 更多