requirejs
我正在开发一个使用和小部件的单页应用程序JQuery.datepicker
。我的网站使用多种语言,我想根据语言设置格式化日历,但我不想每次都包含所有 datepicker 的本地化文件。
如何在运行时.../jquery.ui.datepicker-_lg_.js
根据_lg_
变量管理正确本地化的包含?
requirejs
我正在开发一个使用和小部件的单页应用程序JQuery.datepicker
。我的网站使用多种语言,我想根据语言设置格式化日历,但我不想每次都包含所有 datepicker 的本地化文件。
如何在运行时.../jquery.ui.datepicker-_lg_.js
根据_lg_
变量管理正确本地化的包含?
您始终可以require()
使用正确的语言文件,例如在应用程序初始化代码中:
define(..., function(...) {
var lang = ...
require("lib/jquery-ui/jquery.ui.datepicker-" + lang, function() {
// code here will run after the localization file has loaded
});
...
});
如果您可以并且不介意在index.html
页面中添加一些动态内容,并且语言首选项在服务器端可用,您甚至可以执行以下操作:
var require = ...
配置文件的格式,而不是require.config({...})
格式。假设有一个服务器端变量 ,lang
它保存语言选择。将脚本包含为index.html
(显示的类似 JSP 的语法,请根据您的情况进行调整):
<script src="scripts/require-config.js"></script>
<script>
require.deps = require.deps || [];
require.deps.push("lib/jquery-ui/jquery.ui.datepicker-<%= lang %>");
</script>
<script src="scripts/lib/require.js" data-main="..."></script>
这使用了一些服务器端代码来操作需求配置,以便在require
定义后立即加载本地化。sam 原则可以与path
and shim
/一起使用deps
。