1

在 Windows 中,当我 cmd:D:\web\TechnicalAssistance>call node src/vendor/r.js -o baseUrl=src name=main out=production/build.js optimize=none

我收到此错误:跟踪依赖项:主要;错误: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 文件,它就可以工作!但是如果我想构建我的文件,它就不能像上面解释的那样工作。

我在这里缺少什么?

4

2 回答 2

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
于 2013-05-30T19:53:49.703 回答
0

所以我必须像这样包含 build.js 的路径:D:\web\TechnicalAssistance>call node src/vendor/r.js -o src/build.js baseUrl =src name=main out=production/build。 js优化=无

并将我的 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 个文件并保持它们同步...

于 2013-05-30T16:05:59.153 回答