如何使用Browserify指定自定义searchpath?
我有一个大型项目,由数百个源文件组成的几个文件夹。
像这样的东西:
src/ AAA.js subdir/ DDD.js
我想能够指定非相对path的依赖关系。
例如,在DDD.js
我想这样做:
var AAA = require('AAA');
而不是这个:
var AAA = require('../AAA');
我如何用Browserify实现这一目标?
如文档中所述,Browserify使用browser-resolve
。
在使用节点API(而不是CLI)时,可以指定一个paths
选项,其中包含要传递给browser-resolve
的目录列表。
我的例子的解决scheme将是这样的:
var browserify = require('browserify'); var b = browserify({ paths: [ __dirname + '/src' ] }); b.add(__dirname + '/src/AAA.js'); b.bundle().pipe(process.stdout);
或者,如果您想从命令行执行此操作,则可以将目录添加到节点searchpath中:
NODE_MODULES=$NODE_MODULES:src browserify -o output.js input.js