如何使用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