【发布时间】:2023-03-18 21:20:01
【问题描述】:
我最近按照本指南学习了如何创建 Angular 库并将其发布以供我自己使用:https://medium.com/@nikolasleblanc/building-an-angular-4-component-library-with-the-angular-cli-and-ng-packagr-53b2ade0701e
在打包库并从我自己的 Angular 项目中引用它之后,我遇到了这个错误:NullInjectorError: No provider for NgZone。
当我尝试在我的控制器中注入 NgZone 时,没有引用我的库中也注入它的组件,我的项目工作得很好。但是,当我尝试在我的视图中引用库组件时,它不再起作用!
我花了一整天的时间试图解决这个问题,但是关于这个错误的信息很少甚至没有,我相信它与 NgZone 无关,而是我忽略了。
我不确定我应该提供什么样的信息来更好地解决此错误,所以请随时问我。
我的库和项目都参考 Angular 5.0.0 和 zone.js 0.8.12。你可以在下面找到我在 github 上发布的库:https://github.com/lakylekidd/skating-library
任何帮助将不胜感激,这让我发疯了!
提前谢谢你, 比利
【问题讨论】:
-
您是否将
peerDependencies(如@angular/core)添加到您图书馆的package.json中? -
我做了...我已经包含了这个
"peerDependencies": { "@agm/core": "^1.0.0-beta.2", "@angular/core": "^5.0.0", "lodash": "^4.17.5", "zone.js": "0.8.12" },,但我一直收到同样的错误。 -
你是否在 npm 上发布了你的库?可以安装吗?
-
你好,是的,我已经在 npm 上发布了我的库并自己测试了它......事实证明,当我
npm install时它可以工作,因为我也做了一些修改,我将在一个帖子。感谢您的帮助!