我有一个节点模块,我试图通过browserify分发。该项目有许多功能,这些功能通常与根对象类似,如jQuery的$,下划线的_或Leaflet的L.我的index.js看起来像这样:
module.exports = {
f1: require('./lib/f1'),
f2: require('./lib/f2')
}
这可以在node.js中正常工作,因为我可以这样做:
var x = require('x')
x.f1()
x.f2()
问题在于,当我使用browserify时,它会删除我的根对象并将所有内容展平。在浏览器中,会发生这种情况
<script src='x.js'>
...
f1() // works fine
f2() // works fine
x.f1() // x undefined
x.f2() // x undefined
这就是我使用browserify的方式(基本上是默认值):
browserify index.js > x.js
有没有人知道如何让浏览器不将所有内容弄平,并简单地公开根对象?