gre*_*emo 9 javascript requirejs almond r.js
这是我的文件夹结构(的一部分):
使用r.js -o build.js以下配置运行优化器工作正常:
// main.js file
requirejs.config({
baseUrl: '../bower_components',
paths: {
'domready': 'domready/ready',
'jquery': 'jquery/jquery',
}
});
requirejs(['domready', 'jquery'], function (domReady, $) {
domReady(function () {
});
});
// build.js file
({
baseUrl: "bower_components",
name: "./almond/almond",
include: "./../public/main",
out: "build/main.js",
paths: {
'domready': 'domready/ready',
'jquery': 'jquery/jquery',
},
preserveLicenseComments: false
})
Run Code Online (Sandbox Code Playgroud)
但是,如果我删除它中的paths配置build.js不再有效:
跟踪以下内容的依赖项:./ golden/almond错误:ENOENT,没有这样的文件或目录'C:\ Users\Marco\Documents\Progetti \nodejs-opt\bower_components\domready.js'在模块树中:../ public /main
错误:错误:ENOENT,没有这样的文件或目录'C:\ Users\Marco\Documents\Progetti \nodejs-opt\bower_components\domready.js'在模块树中:../ public /main
Run Code Online (Sandbox Code Playgroud)at Object.fs.openSync (fs.js:427:18)
我想要干,避免两次添加依赖.这可能吗?
exp*_*nit 15
如果要使用运行时代码中的相同配置来查找库的位置,可以使用mainConfigFile选项:
...如果您希望为构建读取"主"JS文件配置,以便您不必在单独的配置中复制值,请将此属性设置为该主JS文件的位置.将使用在该文件中找到的第一个requirejs({}),require({}),requirejs.config({})或require.config({})调用.
像这样的东西:
({
baseUrl: "bower_components",
mainConfigFile: '/some/path/main.js', // adjust path as needed
name: "./almond/almond",
include: "./../public/main",
out: "build/main.js",
preserveLicenseComments: false
})
Run Code Online (Sandbox Code Playgroud)