use*_*725 5 javascript internationalization node.js
我正在尝试new Intl.Collator()在Node.js中构造一个对象.
有谁知道为什么Intl对象不会出现在Node运行时中?
根据MDN,它被ECMAScript指定为命名空间,所以我不明白它为什么不存在.
不幸的是,节点当前(从版本0.10开始,在编写时)不支持ECMA-402 Intl对象,除非您执行node.js 自述文件中记录的节点的自定义编译.
有libicu i18n支持:
Run Code Online (Sandbox Code Playgroud)svn checkout --force --revision 214189 \ http://src.chromium.org/svn/trunk/deps/third_party/icu46 \ deps/v8/third_party/icu46 ./configure --with-icu-path=deps/v8/third_party/icu46/icu.gyp makemake install
如果编译节点的自定义构建不是一个选项或者想法充满了恐惧,解决方法是使用intl模块,这是一个涵盖EMCA-402标准的Javascript polyfill,除了Intl.Collator原因之外项目自述文件中包含的内容.
使用该模块是直截了当的:
npm install intl --save
Run Code Online (Sandbox Code Playgroud)
然后在您的节点代码中:
var Intl = require('intl');
console.log(new Intl.NumberFormat("de-DE").format(12345678));
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
6109 次 |
| 最近记录: |