如何使用Browserify指定自定义搜索路径?

时间:2014-03-14 17:23:14

标签: javascript node.js browserify

我有一个大型项目,包含数百个分成几个文件夹的源文件。

这样的事情:

src/
  AAA.js
  subdir/
    DDD.js

我希望能够使用非相对路径指定依赖项。

例如,在DDD.js我想这样做:

var AAA = require('AAA');

......而不是这个:

var AAA = require('../AAA');

如何使用Browserify实现此目的?

2 个答案:

答案 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