找不到与 angular-meteor 配合得很好的日期选择器

Can't find a datepicker that plays nicely with angular-meteor

我尝试将一堆不同的日期选择器库添加到我的项目中:

对于大多数用于 Angular 的包,我在启动时导入时遇到错误。该错误通常看起来很相似。这是 ng-bootstrap:

的确切错误

Uncaught Error: Can't resolve all parameters for NgbAlert: (?).

在出现该错误的情况下,我没有在任何地方包含 NgbAlert,这完全是由于添加了 NgbModule.forRoot() 所以不要让警报混淆您,这个问题肯定与导入模块。

我试过:

如有任何建议,我们将不胜感激!

半解

在 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 的组件更麻烦。随着时间的推移,我逐渐用材料替换了大部分组件