1

我有一个节点模块,我试图通过 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

有谁知道一种方法让 browserify 不把所有东西都展平,而只是暴露根对象?

4

0 回答 0