将 moment-holiday 计入 Angular 5

Including moment-holiday into Angular 5

我正在使用 momentjs in Angular by importing it as import * as moment from 'moment'; and added moment-holiday 应用程序依赖项以及类型。所以现在时刻自动完成时刻假期的 API,但是 moment-holiday 包没有被加载所以找不到方法,并且使用 import 'moment-holiday' 我在 AppComponent 似乎没有将其添加到 moment 对象中。

我希望能够 运行: moment.modifyHolidays.set('Canada/BC'); 包括加拿大假期以及 BC 假期,但你不能只将它添加到 index.html 因为 moment 还没有加载而且它是必需的。

加载 moment 后如何包含 moment-holiday 依赖项,以便我可以设置 config/service 我需要的假期?

这在 angular cli 项目中有效:

1) 将以下内容添加到 angular-cli.json 文件的脚本数组中:

"./node_modules/moment/min/moment.min.js", "./node_modules/moment-holiday/build/moment-holiday-us.min.js"

2) 在要导入 moment-holiday 的文件中,只需在该文件的顶部添加 declare var moment: any;。不要导入 moment 或 moment-holiday。然后正常使用这个库:moment().holidaysBetween(<some_moment_object>)

编辑:这不是太糟糕的原因是 npmjs.com 有 runkit 集成,你可以在那里测试你的代码:https://npm.runkit.com/moment-holiday

得到它运行,然后将代码转移到您的主项目中