嵌套的Angular模块:无法解析npm包中的服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌套的Angular模块:无法解析npm包中的服务相关的知识,希望对你有一定的参考价值。
我有一个Angular 6应用程序,它具有以下嵌套模块结构:
├── node_modules/
├── package.json <- no mention of ngx-cookie-service
└── src/
└── app/
├── app.module.ts
└── sub-module/
├── node_modules/
├── package.json <- has dependency for ngx-cookie-service
└── sub.module.ts
这种结构的目的是子模块可以作为npm包发布,appmodule提供了一个使用子模块功能的网站UI。
尝试为根项目(appmodule)运行ng build --aot
时出现以下错误:
ERROR in ./src/app/app.module.ngfactory.js
Module not found: Error: Can't resolve 'ngx-cookie-service/cookie-
service/cookie.service' in 'myapp\src\app'
笔记:
- 错误的第三方npm包
ngx-cookie-service
在sub-module
下的package.json中被声明为依赖项。 - sub.module.ts导入app.module.ts中的@NgModule
- 如果我在根package.json中添加
ngx-cookie-service
作为devDependency,则构建成功 - 没有qazxsw poi的建设和服务完美无缺
我的第一个问题是:
这是我的配置中的问题还是我应该联系--aot
的作者?
和其他后续问题:
如何解决此错误而不在根package.json中添加ngx-cookie-service
的依赖项? (因为该应用程序本身不需要cookie服务,只有子模块需要它)
答案
我建议您创建一个角度工作区,您可以在其中创建多个库和应用程序。 ngx-cookie-service
Pros
- 您可以将库发布到npm
- 您可以在工作区中与您的应用共享该库。
阅读这篇文章以便更好地理解
https://angular.io/guide/workspace-config
以上是关于嵌套的Angular模块:无法解析npm包中的服务的主要内容,如果未能解决你的问题,请参考以下文章
Angular 构建 - 未找到模块:错误:无法解析“控制台”
Angular 6 服务器端错误:找不到模块:错误:无法解析“./dist/server/main.bundle”
未找到模块:错误:无法解析“/app”中的“@angular/flex-layout”
无法为 angular-phonecat 教程安装 npm:找不到模块“update-notifier”