我正在开发使用requirejs
和JQuery.datepicker
小部件的单页应用程序。
我的网站使用多种语言,我想根据语言设置格式化日历,但我不希望每次都包含所有日期选择器的本地化文件。
如何根据.../jquery.ui.datepicker-_lg_.js
变量在运行时管理正确的本地化_lg_
包含?
答案 0 :(得分:0)
您始终可以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配置,以便在定义require
后立即加载本地化。 sam原则可与path
和shim
/ deps
一起使用。