grunt contrib requirejs compile在r.js手动工作时出错
我在将requirejs作为grunt任务来编译js文件时遇到问题。当我使用相同的配置文件手动运行它(r.js.cmd-o configfile.js)时,一切似乎都正常 grunt任务似乎正在导入路径定义,无法找到我的lib文件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 &
>> 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任务配置。