使用browserify,我试图要求已经安装浏览器的模块,但是该软件包无法解析已经浏览过的模块。
例如,我有一个与命令捆绑在一起的文件bundle-1.js
:
browserify -r ./bundle-1:bundle.one > build/bundle.one.js
我有另一个文件bundle-2.js
,其require('bundle.two')
与命令捆绑在一起:
browserify -r ./bundle-2:bundle.two -x ./build/bundle.one.js > build/bundle.two.js
尝试运行最后一个命令,会产生一个错误,指出Cannot find module 'bundle.one'
。
如何从模块名称bundle-1
公开bundle-2
bundle.one
的模块?
我在这里为这个例子创建了一个回购:https://github.com/kand/browserify-bundling-tests
答案 0 :(得分:1)
这是因为浏览器化的bundle已经被browserify包装,并且看起来不像node.js模块(commonjs,包含require()
和exports
)语句。应该可以将先前的bundle指定为在browserify配置中导出某个对象的全局库。
解决方案类似于导入here所述的任何其他全局库。