2016-04-18 22 views
2

これは愚かな構成上の問題だと確信していますが、わかりません。私はこの方法でインストールnodejs内グローバル化パッケージを使用しています:私のpackage.jsonインストールを見てnpm install globalize - E_MISSING_BUNDLE

npm install --save globalize cldr-data 

"globalize": "^1.1.1", 
"cldr-data": "^29.0.1", 

は、その後、私はnodeunitテストを作成しました:

var Globalize = require("globalize"); 
Globalize.load(require("cldr-data").entireSupplemental()); 
Globalize.load(require("cldr-data").entireMainFor("es")); 
Globalize.loadMessages({ 
    en: { 
     hello: "Hello, {0} {1} {2}", 
     hey: "Hey, {first} {middle} {last}" 
    } 
}); 
exports['test message translation'] = function (test) { 
    var enFormatter = Globalize("es-MX").messageFormatter("hello"); 
    testString = enFormatter([ "Wolfgang", "Amadeus", "Mozart" ]); 
    test.equal(testString, "Hello, Wolfgang Amadeus Mozart"); 
    test.done(); 
}; 
exports['test date localization'] = function (test) { 
    test.equals("18/4/2016", Globalize("es-MX").dateFormatter()(new Date())); 
    test.done(); 
}; 

最初のテストは合格しますが、2番目のエラーはこのエラーで失敗します。

Error: E_MISSING_BUNDLE: {"locale":"es-MX"} 
    at createError (/Users/darrin/src/tot/commons/node_modules/globalize/node_modules/cldrjs/dist/cldr.js:341:11) 
    at validate (/Users/darrin/src/tot/commons/node_modules/globalize/node_modules/cldrjs/dist/cldr.js:357:10) 
    at Cldr.main (/Users/darrin/src/tot/commons/node_modules/globalize/node_modules/cldrjs/dist/cldr.js:663:3) 
    at dateExpandPattern (/Users/darrin/src/tot/commons/node_modules/globalize/dist/globalize/date.js:110:18) 
    at Globalize.dateFormatter.Globalize.dateFormatter [as dateFormatter] (/Users/darrin/src/tot/commons/node_modules/globalize/dist/globalize/date.js:1828:12) 
    at Object.exports.test date localization (/Users/darrin/src/tot/commons/tests/globalize/globalize.test.js:43:40) 
    at Object.<anonymous> (/Users/darrin/src/tot/commons/node_modules/nodeunit/lib/core.js:236:16) 
    at /Users/darrin/src/tot/commons/node_modules/nodeunit/lib/core.js:236:16 
    at Object.exports.runTest (/Users/darrin/src/tot/commons/node_modules/nodeunit/lib/core.js:70:9) 
    at /Users/darrin/src/tot/commons/node_modules/nodeunit/lib/core.js:118:25 

どのように私はこれを誤って構成しているのですか?

答えて

2

この投稿を作成した直後にそれを調べました。

それは私がentireMainForにロードするためにロケールのリストに「ES-MX」を追加した場合exepctedとしてこの作品判明:

Globalize.load(require("cldr-data").entireMainFor("es", "es-MX")); 

希望、これは他の誰かに役立ちます!何らかの理由で、私は与えられた言語のすべてのロケールがこの関数にロードされていると思った。私はglobalizeに問題を提出しました。他の人が同じ仮定をして、ドキュメンテーションのわずかな変更が明らかになるかもしれないということは、ここにあります:jquery/globalize #610です。