Requirejs不考虑填充模块:

时间:2013-05-30 15:24:58

标签: jquery path requirejs

在我cmd的窗口中:D:\ web \ TechnicalAssistance>调用节点src / vendor / r.js -o baseUrl = src name = main out = production / build.js optimize = none

我收到此错误:跟踪依赖关系:main;错误:ENOENT,没有这样的文件或目录'D:\ web \ TechnicalAssistance \ src \ jquery.js'。在模块树中:main

这个脚本没有找到正确的路径来查找jquery,它应该查看D:\ web \ TechnicalAssistance \ src \ vendors \ jquery-1.9.1.js

我的main.js文件:

requirejs.config({
    baseUrl: ".",
    paths: {
        "jquery": "vendor/jquery-1.9.1"
        ,"jquery-ui": "vendor/jquery-ui.min"
        //,"bootstrap": "vendor/bootstrap.min"
    },
    shim: {
         "jquery": []
        ,"jquery-ui": ['jquery']
        //,"bootstrap": { deps: ["jquery"] }
    }
});


require(["one"
        ,"two"
        ,"vendor/requirejs/require.js"
        ,"jquery"
        //,"bootstrap"
        ], function (one, two) {
    one.action()
    two.action()
});

如果我要求这样:“vendor / jquery-1.9.1”而不仅仅是“jquery”,因为我命名,它的工作原理!但我不想要这样而不是jquery。 正如您所看到的,我将jquery的路径设置为“vendor / jquery-1.9.1”然后我将其称为“jquery”:[];然后我在下面的方法中要求它。 如果我运行un-build文件就可以了!但是如果我想构建我的文件,它就不会像上面解释的那样工作。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

查看 mainConfigFile 选项:

D:\web\TechnicalAssistance>call node src/vendor/r.js -o baseUrl=src name=main out=production/build.js optimize=none mainConfigFile=src/main.js

答案 1 :(得分:0)

所以我必须包含build.js的路径,如下所示:D:\ web \ TechnicalAssistance> call node src / vendor / r.js -o src / build.js baseUrl = src name = main out = production / build.js optimize = none

将main.js的端口复制到build.js:

{
    baseUrl: ".",
    paths: {
         "jquery": "vendor/jquery-1.9.1"
        ,"jquery-ui": "vendor/jquery-ui.min"
        ,"bootstrap": "vendor/bootstrap.min"
    },
    shim: {
        "jquery": []
        ,"jquery-ui": ['jquery']
        ,"bootstrap": { deps: ["jquery"] }
    }
}

这有点多余,为什么requirejs只是从main.js文件读取这些数据?好的,现在它可以工作,但你必须更新2个文件并保持同步......