Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确使用RequireJS及其配置_Javascript_Requirejs_Config - Fatal编程技术网

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(…)

我认为这是一个负载问题,所以我尝试使用var
require
,如中所述,但没有解决它

荒谬的是,我正在使用相同的配置开发一个内置于
主干网的全屏应用程序,而没有遇到任何问题,在这里我需要在不同的视图下进行更多的工作,我无法启动,基本上所有的区别都在于我使用的是
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));
});