在使用r.js 进行优化之后,我很难让requirejs工作.它正常工作我正在遵循配置main.js和构建配置文件的文档empty:
但是在优化之后,不再加载CDN脚本.
公共/ index.html的
<script data-main="editor/js/main" src="editor/js/vendor/require.js"></script>
Run Code Online (Sandbox Code Playgroud)
公共/编辑/ JS/main.js
requirejs.config({
baseUrl: "/editor/js",
paths: {
"jquery": "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min",
"order": "vendor/require_order",
"underscore": "vendor/underscore",
"handlebars": "vendor/handlebars-1.0.0.beta.4",
"jquery.mobile.router": "vendor/jquery.mobile.router",
"jquery.mobile": "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min"
}
});
require(["order!jquery", "order!underscore", "order!handlebars", "order!jam", "order!jquery.mobile"], function () {
//loaded
});
Run Code Online (Sandbox Code Playgroud)
配置/ build.js
({
baseUrl: "../public/editor/js",
name: "main",
out: "../public/editor/js/main-built.js",
paths: {
"order": "vendor/require_order",
"underscore": "vendor/underscore",
"handlebars": "vendor/handlebars-1.0.0.beta.4",
"jquery.mobile.router": "vendor/jquery.mobile.router",
"jquery": "empty:",
"jquery.mobile": "empty:"
}
})
Run Code Online (Sandbox Code Playgroud)
当我运行r.js node config/r.js -o config/build.js
main-built.js成功构建.
您使用订单插件加载所有内容是否有特殊原因?
您构建的 JavaScript 中是否遇到加载顺序问题?
如果您正常加载 jQuery mobile(没有插件),您的“空”配置应该会生效。
require(["jquery", "underscore", "handlebars", "jam", "jquery.mobile"], function () {
Run Code Online (Sandbox Code Playgroud)
http://requirejs.org/docs/optimization.html#empty
您还需要定义 jQuery.mobile.router 的依赖链
requirejs.config({
paths: {
"jquery": "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min",
"order": "vendor/require_order",
"underscore": "vendor/underscore",
"handlebars": "vendor/handlebars-1.0.0.beta.4",
"jquery.mobile.router": "vendor/jquery.mobile.router",
"jquery.mobile": "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min"
},
shim: {
"router": {
"deps" : ["jquery.mobile"]
},
"jquery.mobile" : {
"deps" : [ "jquery.mobile.router"],
"exports": "$.mobile"
},
"jquery.mobile.router": {
"exports": "$.mobile.Router"
}
}
});
Run Code Online (Sandbox Code Playgroud)
看这个问题的答案:
Require.js 与 jQueryMobile-Router
我希望这能解决您使用 requirejs 的问题,一旦您习惯了它的结构,我发现它是一个非常强大且有用的工具。
_佩兹
| 归档时间: |
|
| 查看次数: |
831 次 |
| 最近记录: |