Javascript 如何正确使用RequireJS及其配置
我在Javascript 如何正确使用RequireJS及其配置,javascript,requirejs,config,Javascript,Requirejs,Config,我在RequireJS方面遇到了很多麻烦,我只需使用define模块就可以得到错误 假设我有以下配置: require.config({ baseUrl: "js/", paths: { jquery: "libs/jquery/jquery-2.0.2.min", handlebars: "libs/backbone/template/handlebars", lodash: "libs/backbone/template/lod
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
,主干
和其他lib
<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>
似乎错误是指函数require.config(…)代码>
我认为这是一个负载问题,所以我尝试使用varrequire
,如中所述,但没有解决它
荒谬的是,我正在使用相同的配置开发一个内置于主干网的全屏应用程序,而没有遇到任何问题,在这里我需要在不同的视图下进行更多的工作,我无法启动,基本上所有的区别都在于我使用的是CakePHP
为什么这样不行,我错在哪里?您正在使用的jQuery版本已经有AMD支持。所以你不必用垫片。您可以直接给出路径并开始使用它
由于模块已经在jQuery库中定义,因此当您尝试重新定义它时,它会抛出错误。下面的代码尝试定义匿名模块
define(["jquery"], function ($) {
console.log('define "jquery" on config.js');
return $;
});
删除上面的代码,应该可以正常工作。下面的代码使用require方法加载jquery模块
require(["jquery"], function ($) {
console.log($(document));
});
希望这能起作用。感谢您提供的信息,我已经删除了它并更新了问题,不幸的是它仍然不起作用并抛出相同的错误。问题出现在下面的代码中,define([“jquery”],function($){console.log('define“jquery”on config.js');return$;});尝试删除用于定义模块的itdefine()方法。尝试将代码中的“define”替换为“require”。我不确定这是否是问题所在,因为在define中使用jQuery是每个库都需要的,就像主干一样需要它。要确定的是,我已经按照您所说的删除了它,它仍然会抛出错误。我在项目中遇到过类似的问题。我通过删除重新定义来修复它。但我不确定你代码中的问题。最后一个建议是,再次浏览错误消息“”中提供的链接。这可能会有帮助。
require(["jquery"], function ($) {
console.log($(document));
});