【发布时间】:2020-02-16 18:53:22
【问题描述】:
我正在尝试将此库 https://github.com/flauc/angular2-notifications 从 Angular 2+ 迁移到 Angular 9。
最初的错误是关于 ModuleWithProviders 已成为泛型类型,所以我修复了它。我还在这里描述了一个错误https://github.com/angular/angular/issues/32352,我用require('@angular/compiler-cli'); 修复了它,现在我面临另一个错误:
../node_modules/@angular/common/common.d.ts:115:22 - 错误 NG6002: 出现在 SimpleNotificationsModule 的 NgModule.imports 中,但是 无法解析为 NgModule 类
我很难理解发生了什么,因为我以前从未构建过库,而且使用 gulp 构建似乎有点 hacky,因为这一行 ngc = require('@angular/compiler-cli/src/main').main 指的是不属于公共 API。
编辑:
按照 cmets 中的想法(以及我自己的感觉),我尝试在没有 gulp 的情况下构建:
- 创建了一个
angular.json文件 - 将
index.ts分隔为public_api.ts和simple-notifications.module.ts - 对文件和文件夹结构进行了一些更改
但我仍然有同样的错误......
我的尝试:https://github.com/youkouleley/angular2-notifications
我尝试使用ng build 构建它,package.json 中的脚本尚未更新
【问题讨论】:
-
您可能想停止使用 gulp 并将其移至
ng-cli... 它会减少您的麻烦。 gulp 文件只是在编译库。 ng-cli 也可以这样做 -
@TheFabio 你有没有看到任何可以解释 gulp 选择而不是 ng-cli 的东西?
-
我建议年龄...当 angular 开始具有 cli(angular 2)时,gulp 处于其使用的顶峰。可能是由具有足够 gulp 知识的人完成的开发
-
会呼应@TheFabio。请改用角度 CLI。现在甚至无法从 Angular CLI 中弹出
-
@C_Ogoo 明白了,我试过了,但没有解决我的问题
标签: angular gulp angular-library angular-ivy angular9