我正在尝试做 browser example需要优化器。我的文件夹结构如下所示,r.js和build.html与js文件夹位于同一级别
js
lib
| a.js
| b.js
| c.js
scripts
| 1.js
| 2.js
| 3.js
main.js
在 main.js 中我指定了这样的路径
require.config({
baseUrl : 'js',
paths: {
'1' : 'scripts/1',
'2' : 'scripts/2',
'3' : 'scripts/3',
}
});
我将脚本包含在模块中,例如
define(function (require, exports, module) {
"use strict";
//load Modules
var one = require('1'),
two = require('2'),
three = require('3');
......
.....
})
我的 build.htnl 有这样的配置
{
baseUrl: 'js',
mainConfigFile: 'js/main.js',
name: 'main',
optimize: 'none',
out: function (text) {
document.getElementById('output').value = text;
}
}
但它没有构建,我可以看到 r 正确加载了 1,2,3 个文件(在我看到的开发工具网络中),但出现了类似 root/js/js/lib/a.js 的路径错误,
不知道为什么 js/js 会重复,因为 1,2,3 文件已正确加载。我尝试了一些组合,从 build add '.' 中删除 'js'。等等..没有一个组合不起作用。
相对路径中的实际错误是什么。我应该在主配置和构建配置中指定什么路径?
提前致谢
最佳答案
好吧..终于我弄清楚了路径问题。
我正在将 lib
中的文件加载到其他文件中,例如 require('js/lib/a')
、require('js/lib/b')
等。
当我将其也添加为路径时,问题就解决了。
paths: {
'1' : 'scripts/1',
'2' : 'scripts/2',
'3' : 'scripts/3',
'a' : 'libs/a',
'b' : 'libs/b',
'c' : 'libs/c'
}
为了避免混淆,请记住这一点
- 主文件和构建文件使用通用的baseUrl。
关于javascript - 需要js优化器相对路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17095555/