那么,现在我们一直在使用Browserify 2.x。我们正在经历一些重构,所以我们想尝试更新到最新的Browserify,以减少未来版本的飞跃。如何使用最新的Browserify(6.x.x)创建供应商捆绑包?
不幸的是,如何处理外部软件包有所改变。在旧版本中,我们可以简单地告诉Browserify哪些模块不在捆绑中并需要从另一个模块中获取 - 基本上是described here。
从版本5.0.0发生Browserify内部的一些重大变化。我们以这个命令为例。 debug
模块是NPM模块。
browserify -r debug -o vendor.js
在Browserify运行此命令@ 4,输出文件应该是这样的:
require=(function... {
"debug":[function(require,module,exports){
module.exports=require('2Bvkwp');
},{}],
"2Bvkwp":[function(require,module,exports){
// actual code from debug module
},{}]
});
现在用Browserify @ 5它看起来像这样:
require=(function... {
1:[function(require,module,exports){
// actual code from debug module
},{}]
});
要完成等式,我有简单的文件,其中包含require('debug')
,这与命令browserify -x debug -e index.js -o main.js
捆绑在一起。对于debug
模块,内部依赖关系设置为undefined
,这是正常的。
如果您想查看prelude.js文件,可以使用以前定义的全局require
(存储在previousRequire
变量中)的逻辑来查找未在当前包内定义的模块。但由于vendor.js
没有公开任何类似debug
模块,因此无法成功。
所有我已经能够找到的是该线路的changelog:
散列走了这么暴露:true或明确的暴露ID需要做多出口束
我我无法找到什么呢,实际上是指:(
是的,看起来他们终于修好了,感谢您的支持。 – FredyC 2014-10-28 06:49:05