Intl.NumberFormat支持来自node.js?

时间:2016-09-21 20:35:19

标签: node.js

在我的浏览器控制台中:

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

在我的计算机上的节点中:

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

在我的同事计算机上的节点中:

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

相同版本的节点4.5.0

Intl.NumberFormat支持应该来自哪里?您需要构建什么才能将其包含在您的节点版本中?

2 个答案:

答案 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,提供语言敏感字符串   比较,数字格式以及日期和时间格式。该   Collat​​or,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