我们所依赖的一些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>是否有一种建议的方法来实现这一点与需求as (注意,全球化包括在一个垫片)?
这是我的第一次尝试,还不确定所需的光学器将如何处理它.
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。
发布于 2013-06-14 04:46:06
Kendo在他们的代码中做了类似的事情。
这是对他们技术的轻微修改。这种特殊的样式允许模块通过需求加载或直接包含脚本。
我稍微修改了一下,设置了prereqs。缺点是,这段代码将不再通过r.js优化器工作。
var myLocalPrereqs = ['file_english.min'];
("function" == typeof define && define.amd ? define : function (preReqs, func) {
return func()
})(myLocalPrereqs, function () {
(function () {
// Your module code goes here...
})()
});https://stackoverflow.com/questions/16805126
复制相似问题