我有一个大型项目,包含数百个分成几个文件夹的源文件。
这样的事情:
src/
AAA.js
subdir/
DDD.js
我希望能够使用非相对路径指定依赖项。
例如,在DDD.js
我想这样做:
var AAA = require('AAA');
......而不是这个:
var AAA = require('../AAA');
如何使用Browserify实现此目的?
答案 0 :(得分:13)
正如documentation中所述,Browserify使用了browser-resolve
。
使用节点API(而不是CLI)时,您可以指定paths
选项,其中包含要传递给browser-resolve
的目录列表。
我的例子的解决方案就是这样的:
var browserify = require('browserify');
var b = browserify({
paths: [
__dirname + '/src'
]
});
b.add(__dirname + '/src/AAA.js');
b.bundle().pipe(process.stdout);
答案 1 :(得分:0)
或者,如果您想从命令行执行此操作,可以将目录添加到节点搜索路径:
NODE_MODULES=$NODE_MODULES:src browserify -o output.js input.js