Angular library - Module not found: Error: Cannot resolve module
Angular library - Module not found: Error: Cannot resolve module
我有简单的例子:
- 我根据官方文档在工作区内创建 Angular 库:
ng new workspace-test --create-application=false
cd workspace-test
ng generate library lib-test
- 然后我构建库并从 ./dist/lib-test 目录为它创建 npm link:
ng build lib-test
npm link
- 然后我创建最简单的 angular 应用程序:
ng new app-test
- 现在我link我的图书馆申请:
npm link lib-test
- 当我尝试在我的应用程序中使用库时,出现异常
Error: Module not found: Error: Can't resolve '../../../workspace-test/dist/lib-test/lib/lib-test.component' in 'C:\dev\app-test\src\app'
- 我在应用程序中使用图书馆:
import { LibTestModule } from '../../../workspace-test/dest/lib-test'
...
imports: [
LibTestModule ,
我不知道发生了什么,如何让它工作?它的基本示例。
如果你想在另一个本地项目中使用本地库,那么你的库构建应该在项目的 node_modules 文件夹中
解决方案
将库构建目标更改为项目的 node_modules
假设您有以下文件夹
转到 my-lib>projects>my-lib>ng-package.json
文件
将目标更改为 "../../../my-project/node_modules/my-lib"
建立你的图书馆
我有简单的例子:
- 我根据官方文档在工作区内创建 Angular 库:
ng new workspace-test --create-application=false
cd workspace-test
ng generate library lib-test
- 然后我构建库并从 ./dist/lib-test 目录为它创建 npm link:
ng build lib-test
npm link
- 然后我创建最简单的 angular 应用程序:
ng new app-test
- 现在我link我的图书馆申请:
npm link lib-test
- 当我尝试在我的应用程序中使用库时,出现异常
Error: Module not found: Error: Can't resolve '../../../workspace-test/dist/lib-test/lib/lib-test.component' in 'C:\dev\app-test\src\app'
- 我在应用程序中使用图书馆:
import { LibTestModule } from '../../../workspace-test/dest/lib-test'
...
imports: [
LibTestModule ,
我不知道发生了什么,如何让它工作?它的基本示例。
如果你想在另一个本地项目中使用本地库,那么你的库构建应该在项目的 node_modules 文件夹中
解决方案 将库构建目标更改为项目的 node_modules
假设您有以下文件夹
转到
my-lib>projects>my-lib>ng-package.json
文件将目标更改为
"../../../my-project/node_modules/my-lib"
建立你的图书馆