在我的krakenjs / nodejs应用程序中,我使用dust and dust-intl格式化日期。
正如您可以阅读here以添加对其他语言的支持,我必须填充运行时。在同一页面中,它们提供了一个函数,但是如何在项目中包含此代码?
这是他们说我应该使用的代码:
var areIntlLocalesSupported = require('intl-locales-supported');
var localesMyAppSupports = [
/* list locales here */
];
if (global.Intl) {
// Determine if the built-in `Intl` has the locale data we need.
if (!areIntlLocalesSupported(localesMyAppSupports)) {
// `Intl` exists, but it doesn't have the data we need, so load the
// polyfill and replace the constructors with need with the polyfill's.
require('intl');
Intl.NumberFormat = IntlPolyfill.NumberFormat;
Intl.DateTimeFormat = IntlPolyfill.DateTimeFormat;
}
} else {
// No `Intl`, so use and load the polyfill.
global.Intl = require('intl');
}
答案 0 :(得分:0)
polyfill定义global.Intl
,因此标准包含可以解决问题。可能就在您应用的顶部。
var intlPolyfill = require('../path/to/polyfill/file.js')
或者您可以将该填充代码插入主应用程序文件中。同样,它会改变global
,因此更改会影响所有代码。在任何需要使用polyfilled Intl
的代码之后,不要包含/运行polyfill代码。
最后,如果polyfill必须定义global.Intl
,它会使用节点包(' intl')来定义它,所以你需要确保你有该软件包已安装。