Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
grunt contrib requirejs compile在r.js手动工作时出错_Requirejs_Gruntjs_Grunt Contrib Requirejs - Fatal编程技术网

grunt contrib requirejs compile在r.js手动工作时出错

grunt contrib requirejs compile在r.js手动工作时出错,requirejs,gruntjs,grunt-contrib-requirejs,Requirejs,Gruntjs,Grunt Contrib Requirejs,我在将requirejs作为grunt任务来编译js文件时遇到问题。当我使用相同的配置文件手动运行它(r.js.cmd-o configfile.js)时,一切似乎都正常 grunt任务似乎正在导入路径定义,无法找到我的lib文件 >> Error: ENOENT, no such file or directory >> '/path/to/project/js/lib.js' >> In module tree: >> module &

我在将requirejs作为grunt任务来编译js文件时遇到问题。当我使用相同的配置文件手动运行它(r.js.cmd-o configfile.js)时,一切似乎都正常

grunt任务似乎正在导入路径定义,无法找到我的lib文件

>> Error: ENOENT, no such file or directory
>> '/path/to/project/js/lib.js'
>> In module tree:
>>     module
>>       libs/another-lib
路径应该是/path/to/project/js/lib/lib.js。我的主js文件(data main属性中的文件)有一个带有正确路径映射的requirejs.config调用('lib':'lib/lib.js')。之后,我将它们用作启动应用程序的require调用中的参数

我的requirejs任务配置:

requirejs: {
    compile: {
        options: {
            name: "bootstrap",
            baseUrl: "submodule/js",
            mainConfigFile: "submodule/build.js",
            out: "submodule/js/bootstrap-built.js"
        }
    }
}

grunt-requurejs
调用和
r.js.cmd-o build.js
之间的唯一区别应该是grunt任务配置。毕竟,它们使用的是相同的配置文件。我做错了什么,或者grunt contrib requirejs中的路径存在某种问题?

我的问题是requirejs任务选项和mainConfigFile之间存在冲突。我想在主项目的子模块中使用相同的配置文件,但配置了不同的基本url(submodule/js/->js/)


我还没有找到覆盖配置文件中选项的方法,所以我不得不将它们复制到任务配置中。这并不漂亮,但至少现在可以用了。

你能详细解释一下“冲突”吗?我面临着同样的问题,我的配置看起来还行(与您的和其他类似的问题类似,因此有相同的错误)。冲突发生在主requirejs任务配置和子模块配置文件中的baseUrl属性之间。我无法使用子模块配置,必须将配置从“submodule/build.js”文件复制到requirejs任务配置。