我遇到了很多麻烦RequireJS
,只需使用define
模块就会出错。
假设我有这个配置:
require.config({
baseUrl: "js/",
paths: {
jquery: "libs/jquery/jquery-2.0.2.min",
handlebars: "libs/backbone/template/handlebars",
lodash: "libs/backbone/template/lodash.min",
backbone: "libs/backbone/backbone-1.0.0.min",
helper:"app/helper",
jquery_cookie:"libs/jquery/plugin/jquery.cookie",
text:"libs/require/text-2.0.7"
},
shim: {
"lodash": {
exports: '_'
},
"handlebars": {
deps:["jquery"],
exports: 'Handlebars'
},
"backbone": {
deps: ["helper", "lodash", "handlebars", "jquery"],
exports: "Backbone"
}
},
urlArgs: "bust=" + (new Date()).getTime()
});
define(["jquery"], function ($) {
console.log('define "jquery" on config.js');
return $;
});
console.log("end config.js");
首先,我尝试了经典方式,我已经加载了一个config
文件,其中包含我的文件的所有依赖项JavaScript
,我正在使用jQuery
和Backbone
其他库。
<script type="text/javascript" data-main="config" src="js/libs/require/require-2.1.6.min.js"></script>
<script type="text/javascript">
require(["jquery"], function ($) {
console.log("jquery loaded");
});
</script>
使用此配置,我得到这些错误和日志序列:
Uncaught Error: Mismatched anonymous define() module: function (){return r}
> http://requirejs.org/docs/errors.html#mismatch
end config.js
define "jquery" on config.js
似乎错误与函数有关require.config(...);
我认为这是一个负载问题,所以我尝试使用RequireJS 站点require
中描述的 var而没有解决它。
荒谬的是,我正在Backbone
使用相同配置内置的全屏应用程序而没有遇到任何问题,在这里我需要使用不同的视图进行更多工作,我无法开始,基本上整个区别都在这里我正在使用CakePHP
。
为什么这不起作用,我错在哪里?