Dynamic 带有requirejs的动态js包含
我正在开发一个使用Dynamic 带有requirejs的动态js包含,dynamic,requirejs,jquery-ui-datepicker,Dynamic,Requirejs,Jquery Ui Datepicker,我正在开发一个使用requirejs和JQuery.datepicker小部件的单页应用程序。 我的网站使用多种语言,我想根据语言设置格式化日历,但我不想每次都包含datepicker的所有本地化文件 如何在运行时基于\u lg\ucode>变量管理正确本地化的../jquery.ui.datepicker-\u lg\ujs的包含 您可以始终require()正确的语言文件,例如在应用程序初始化代码中: define(..., function(...) { var lang = ..
requirejs
和JQuery.datepicker
小部件的单页应用程序。
我的网站使用多种语言,我想根据语言设置格式化日历,但我不想每次都包含datepicker的所有本地化文件
如何在运行时基于
\u lg\ucode>变量管理正确本地化的../jquery.ui.datepicker-\u lg\ujs
的包含 您可以始终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
页面中添加一些动态内容,并且服务器端提供了语言首选项,那么您甚至可以执行以下操作:
- 将配置文件与主AMD模块分开
- 对配置文件使用
var require=…
格式,而不是require.config({…})
格式
- 假设有一个服务器端变量,
lang
,用于保存语言选择。在index.html
中,将脚本包括为(所示的类似JSP的语法,根据您的情况进行调整):
require.deps=require.deps | |[];
require.deps.push(“lib/jqueryui/jquery.ui.datepicker-”;
这使用少量服务器端代码来操作所需配置,以便在定义require
时立即加载本地化。sam原则可用于路径
和垫片
/deps
非常感谢!我试图使用您的代码(第一个版本,客户端),但我总是遇到无法避免的“脚本错误”。我试图引用文件的相对/绝对路径,我将“require”作为项目的依赖项,但我不知道如何加载该脚本!有什么想法吗?你试过添加.js
后缀吗?
<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>