避免重复“;路径”;RequireJS主文件和r.js构建文件中的配置
Avoid duplication of "paths" configuration in RequireJS main file and r.js build file?
这是我的文件夹结构的一部分:
- 节点测试
- bower_组件
- 构建
- 公众
- main.js
- build.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
})
然而,如果我在build.js
中删除paths
配置,它将不再工作:
正在跟踪的依赖项/杏仁/杏仁错误: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
at Object.fs.openSync (fs.js:427:18)
我希望DRY,避免两次添加依赖项。这可能吗?
如果您想使用运行时代码中的相同配置来查找库的位置,可以使用mainConfigFile选项:
如果您希望在构建时读取"主"JS文件配置,这样就不必在单独的配置中重复这些值,请将此属性设置为该主JS文件的位置。将使用在该文件中找到的第一个requirejs({})、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
})
相关文章:
- Ext.js从json构建模型关系的问题
- 构建JS测试,警报窗口重复上一个Q,而不是问下一个Q
- 如何构建angular.js应用程序
- js文件是否阻碍了war文件的构建
- 为big js包构建脚本
- Node.js-承诺和锥形语句(if、switch等)-如何构建
- 正在寻找从JSON/对象构建DOM客户端的JS库
- 使用video-js构建一个包含字符串的HTML视频
- 构建HTML5 Canvas/JS游戏
- HTML/CSS/JS 构建工具
- 尝试构建 ember js 项目时出错
- Cordova在设备上构建时不使用css和js
- d3.js力布局图:如何从头开始构建nodes对象
- Gulp赢了't构建js
- 在项目中构建 js 函数
- 使用ant构建js应用程序
- 试图构建JS gantt,滚动时背景颜色消失
- 使用变量构建JS对象
- 构建JS滑动页面
- 在jQuery SDK中构建js函数