Intl.NumberFormat支持来自node.js的位置?

在我的浏览器控制台中

> Intl.NumberFormat.supportedLocalesOf('it') ["it"] 

在我的电脑上的节点上:

 > Intl.NumberFormat.supportedLocalesOf('it') [] 

在我的同事电脑上的节点上:

 > Intl.NumberFormat.supportedLocalesOf('it') ["it"] 

相同版本的节点4.5.0

Intl.NumberFormat支持应该来自哪里? 你有什么需要构build它以包含在你的节点版本中?

默认情况下,由于文件大小,节点仅构build一组缩减的ICU数据(仅限英文)。

如果你已经手动build立节点,如果你./configure --with-intl=full-icu你会得到完整的内置ICU数据集。 您也可以使用--with-intl=system-icu让节点使用OS ICU数据。

如果您从其他(nonnodejs.org)源(如操作系统发行版资源库)进行安装,则需要联系这些二进制文件的维护人员提供有关完整的icu / system-icu版本的信息。

最后一个选项是安装full-icu模块,这将使全icu数据集可用。

https://github.com/nodejs/node/wiki/Intl

什么是Intl?

EcmaScript 402描述了全局Intl(国际化简称)对象和其他相关的function和function。

Node.js(或者更合适的,v8引擎)使用ICU4C来实现本地C / C ++的Intl支持。 节点源代码库或源代码发行版中不包括ICU的源代码。

另见https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl

Intl对象是ECMAScript Internationalization API的名称空间,它提供了对语言敏感的string比较,数字格式以及date和时间格式。 Collat​​or,NumberFormat和DateTimeFormat对象的构造函数是Intl对象的属性。 本页面logging了这些属性以及国际化构造函数和其他语言敏感函数的通用function。

我看到我在Node 5.12.0中没有Intl ,但是我在Node 6.5.0中默认使用了Intl

它可能已经添加到6.0.0中: https : //nodejs.org/en/blog/release/v6.0.0/

[ cdba9a6c02 ] – src:将intl和icuconfiguration添加到process.binding('config')(James M Snell) #6266