找不到与 angular-meteor 配合得很好的日期选择器
Can't find a datepicker that plays nicely with angular-meteor
我尝试将一堆不同的日期选择器库添加到我的项目中:
- 流星 1.7
- Angular 6
- Bootstrap 4
对于大多数用于 Angular 的包,我在启动时导入时遇到错误。该错误通常看起来很相似。这是 ng-bootstrap:
的确切错误
Uncaught Error: Can't resolve all parameters for NgbAlert: (?).
在出现该错误的情况下,我没有在任何地方包含 NgbAlert
,这完全是由于添加了 NgbModule.forRoot()
所以不要让警报混淆您,这个问题肯定与导入模块。
我试过:
- ng-pick-datetime
- Ngx-Bootstrap
- ng-bootstrap
- 还有一些人
如有任何建议,我们将不胜感激!
半解
在 meteor 环境变量中设置 AOT=1。
讨论
我能够让 ng-bootstrap 通过符号链接库(以确保它被转译)然后在启用 AOT 的情况下构建 Meteor 来工作。
我将原始故障缩小到 Angular JIT 编译器代码中的一个区域。我真的不太了解 Angular-Meteor 的 angular-编译器代码如何工作,相对于 Angular 的正常编译流程,所以我无法真正了解问题的根源。如果有人能提供较低层次的解释,我将不胜感激!
更新
在一个不同但相似的问题中,ironmanu on this question 提供了一个更好的半解决方案。它仍然不是一个完美的解决方案,但它是一个可用的创可贴。
解决方案是将 require('reflect-metadata');
添加到 app.module.ts
中模块导入的顶部。这解决了 JIT 期间的问题。我不确定为什么 Angular 编译器本身不处理这个问题,但这确实有效!
我使用 angular material 的日期选择器。它适用于 angular-meteor.
我也在我的应用程序中使用了 ngbootstrap,但发现它比 angular material 的组件更麻烦。随着时间的推移,我逐渐用材料替换了大部分组件
我尝试将一堆不同的日期选择器库添加到我的项目中:
- 流星 1.7
- Angular 6
- Bootstrap 4
对于大多数用于 Angular 的包,我在启动时导入时遇到错误。该错误通常看起来很相似。这是 ng-bootstrap:
的确切错误Uncaught Error: Can't resolve all parameters for NgbAlert: (?).
在出现该错误的情况下,我没有在任何地方包含 NgbAlert
,这完全是由于添加了 NgbModule.forRoot()
所以不要让警报混淆您,这个问题肯定与导入模块。
我试过:
- ng-pick-datetime
- Ngx-Bootstrap
- ng-bootstrap
- 还有一些人
如有任何建议,我们将不胜感激!
半解
在 meteor 环境变量中设置 AOT=1。
讨论
我能够让 ng-bootstrap 通过符号链接库(以确保它被转译)然后在启用 AOT 的情况下构建 Meteor 来工作。
我将原始故障缩小到 Angular JIT 编译器代码中的一个区域。我真的不太了解 Angular-Meteor 的 angular-编译器代码如何工作,相对于 Angular 的正常编译流程,所以我无法真正了解问题的根源。如果有人能提供较低层次的解释,我将不胜感激!
更新
在一个不同但相似的问题中,ironmanu on this question 提供了一个更好的半解决方案。它仍然不是一个完美的解决方案,但它是一个可用的创可贴。
解决方案是将 require('reflect-metadata');
添加到 app.module.ts
中模块导入的顶部。这解决了 JIT 期间的问题。我不确定为什么 Angular 编译器本身不处理这个问题,但这确实有效!
我使用 angular material 的日期选择器。它适用于 angular-meteor.
我也在我的应用程序中使用了 ngbootstrap,但发现它比 angular material 的组件更麻烦。随着时间的推移,我逐渐用材料替换了大部分组件