私たちが依存している jquery プラグインのいくつかは、ロケール/カルチャ固有のファイルを含める機能を提供して、en-us 以外のユーザーがその機能をより身近に感じられるようにします (jquery-globalize や bootstrap-datapicker など)。
これを達成する古い学校の方法は次のとおりです (「en-AU」はその場で決定され、欠落しているカルチャに対して 404 が返される場合があります)。
<script type="text/javascript" src="/js/globalize/globalize.js"></script>
<script type="text/javascript" src="/js/globalize/cultures/globalize.culture.en-AU.js"></script>
これをrequirejsで達成するための推奨される方法はありますか(globalizeがシムとして含まれていることに注意してください)?
これが私の最初の試みです。requirejsオプトマイザーがそれをどのように処理するかはまだわかりません...
Globalize = require("globalize");
...
locale = module.config().locale;
if (locale != null) {
require(["globalize/globalize.culture." + locale], function() {
logger.debug("Loaded locale '" + locale + "'");
Globalize.culture(locale);
}, function() {
logger.debug("Unable to load locale '" + locale + "'");
});
}
編集: オプティマイザは問題なく処理しますが、カルチャ ファイルが非同期に読み込まれるため、ソリューションは実際には機能しません。カルチャが設定される前に、アプリが Globalize を使用した可能性があります。