有没有办法将模块的内部依赖关系公开给全局require
?
我的意思是我有index.js
这样:
var dep = require('./dep.js');
console.log(dep);
我已经通过它的API将它添加到Browserify捆绑包中:
var b = browserify();
b.add('path/to/module');
b.bundle().pipe(process.stdout);
那么我怎样才能在结果包文件之外得到require('./dep.js')
?
我说的是Browserify的Node.js API,而不是CLI。
答案 0 :(得分:0)
我不确定这是不是你问的问题,但是:
var browserify = require('browserify');
var b = browserify();
var deps = [];
b.add('path/to/module');
// pull array out of stream:
b.deps().on('data', function(data){deps.push(data);})
.on('end',function(){
deps.forEach(function(item)
{
//item.id will be the file name
console.log(item);
});
} );
如果您只是想要require依赖项,那么browserify将在内部使用module-deps,它位于github here或npm上。
答案 1 :(得分:0)
怎么样
// index.js
var dep = require('./dep.js');
console.log(dep);
//========================
// your browserify script
var b = browserify();
b.add('./path/to/index.js');
// expose the module to global require as 'deps'
b.require('./path/to/deps.js', { expose: 'deps' });
b.bundle().pipe(process.stdout);
这应该使deps.js
模块在包外的可用deps
因此,在开发人员工具控制台中执行此操作将使您可以访问模块
require('deps'); // will require the deps.js module