2016-09-21 30 views
2

在我的瀏覽器控制檯:Intl.NumberFormat支持來自node.js的位置?

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

在我的電腦上點:

​​

在節點我的同事電腦上:節點的

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

相同版本4.5.0

Intl.NumberFormat支持應該來自哪裏fr OM?你需要構建什麼才能讓它包含在你的節點版本中?

+0

您正在使用哪些版本/操作系統? – ShaBANG

+0

MacOSX 10.X和Debian(最新的2版本)取決於有問題的機器(詹金斯,生成,筆記本等...) – boatcoder

回答

1

默認情況下,由於文件大小,節點僅構建一組縮減的ICU數據(僅限英文)。

如果您已經手動構建節點,如果您使用./configure --with-intl=full-icu,您將獲得完整的ICU數據集內置。您也可以使用--with-intl=system-icu讓節點使用OS ICU數據。

如果您從其他(nonnodejs.org)源(例如OS分發存儲庫)進行安裝,則需要聯繫這些二進制文件的維護人員提供有關使用full-icu/system-icu構建的維護人員。

最後一個選項是安裝full-icu模塊,它將使全icu數據集可用。

+0

我只測試了完整的icu解決方案。 – boatcoder

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

的國際對象是ECMAScript的 國際API,它提供語言敏感字符串 比較,數字格式,以及日期和時間的格式的命名空間。 Collat​​or,NumberFormat和DateTimeFormat對象 的構造函數是Intl對象的屬性。本頁面記錄這些 屬性以及國際化 構造函數和其他語言敏感函數的通用功能。

我發現我沒有節點5.12.0中的Intl,但是我在節點6.5.0中默認有Intl

它可能已在6.0.0被添加:https://nodejs.org/en/blog/release/v6.0.0/

[cdba9a6c02] - SRC:添加國際機場和ICU CONFIGS到process.binding( '配置')(詹姆斯中號 斯內爾)#6266

+0

我已經在4.5.0中使用它,因此它確實存在,但它是嚴格限制的。 – boatcoder