我正在使用 browserify v13.0.0
我有一个 a.js
,它只有一个 module.exports = {a: 1}
然后我这样运行 browserify:
browserify --node --debug a.js > bundle.js
在 Node REPL中,
> require ('./bundle.js')
{}
>
为什么是 {}
?它不应该给我 {a: 1}
吗?
虽然我已将问题简化为最简单的情况,但这种行为阻止我将涉及多个 coffeescript 文件的项目捆绑到 Node 和浏览器的单个文件中。
我也试过--bare
, --no-builtins
, --no-bf
同样的事情也适用于standalone 选项。所以如果我这样做
browserify --node --standalone abc --debug a.js > bundle.js
> require ('./bundle.js')
{a: 1}
>
Standalone 可以是 abc
或其他任何东西!它只是工作
最佳答案
我看到了同样的事情,它似乎与 UMD header 的生成方式有关。 standalone 参数在根对象上设置该名称的属性(在 Node 中加载模块时似乎是 module.exports )但我不确定。我将查看用于生成 UMD header 的 browserify 源,然后我将了解更多信息。现在,我会说坚持使用“独立”选项
关于javascript - 通过 browserify 为 node.js 捆绑文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35395738/