在我的浏览器控制台中:
> Intl.NumberFormat.supportedLocalesOf('it')
["it"]
在我的计算机上的节点中:
> Intl.NumberFormat.supportedLocalesOf('it')
[]
在我的同事计算机上的节点中:
> Intl.NumberFormat.supportedLocalesOf('it')
["it"]
相同版本的节点4.5.0
Intl.NumberFormat支持应该来自哪里?您需要构建什么才能将其包含在您的节点版本中?
答案 0 :(得分:5)
默认情况下,由于文件大小,节点仅构建一组简化的ICU数据(仅英文)。
如果您已经手动构建节点,如果您./configure --with-intl=full-icu
,您将获得内置的完整ICU数据集。您还可以使用--with-intl=system-icu
让节点使用OS ICU数据。
如果您从其他(nonnodejs.org)源安装,例如操作系统分发存储库,则需要联系此类二进制文件的维护者,以提供有关full-icu / system-icu的构建。 / p>
最后一个选项是安装full-icu
模块,这将使全部数据集可用。
答案 1 :(得分:1)
来自https://github.com/nodejs/node/wiki/Intl
什么是国际?
EcmaScript 402描述了全局Intl(简称 国际化)对象和其他相关的功能和 功能。
Node.js(或更恰当地说,v8引擎)使用ICU4C来实现这一点 本机C / C ++中的Intl支持。 ICU的来源不包含在Node中 源存储库或源代码分发。
另见https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl
Intl对象是ECMAScript的名称空间 Internationalization API,提供语言敏感字符串 比较,数字格式以及日期和时间格式。该 Collator,NumberFormat和DateTimeFormat对象的构造函数 是Intl对象的属性。本页记录了这些 属性以及国际化共有的功能 构造函数和其他语言敏感函数。
我看到节点5.12.0中没有n
但我在节点6.5.0中默认拥有它。
它可能已在6.0.0中添加:https://nodejs.org/en/blog/release/v6.0.0/
[cdba9a6c02] - src:将intl和icu配置添加到process.binding('config')(James M Snell)#6266