nodeify用于节点核心库

4 javascript node.js browserify

这是一个问题,只是为了确认我对节点browserify的理解.

substack/node-browserify说:

兼容性:许多不执行IO的npm模块在浏览后会正常工作.其他人需要更多的工作 许多节点内置模块已被包装在浏览器中,但只有在您明确要求(或)使用其功能时才能使用.

-

当你需要()时,获取节点核心库事件,流,路径,url,断言,缓冲区,util,querystring,http,vm和crypto的浏览器版本

节点browserify是否获取节点内置模块的源代码,并构造捆绑文件; 通过正确选择当前工作的NVM版本?

实际上,我第一次使用browserifymaxogden/websocket-stream,并且效果惊人.

Tho*_*enz 5

不,它不以初始形式使用节点核心模块.某些功能在浏览器中根本没有意义,或者至少必须进行调整以使其有意义.

相反,browserify使用名为browser-builtins的模块来提供有意义的替代方案.

检查此模块的package.json文件,您可以看到外部包提供了哪些核心模块.

其余的来自这里.

正如您所看到的,某些模块(如fs)在浏览器中没有意义(至少目前还没有).

然而,其他人可以很容易地适应在浏览器中工作.

编辑:

以上情况不再完全正确.在模块化的精神下,最新的browserify不再依赖于浏览器内置,而是每个模块垫片单独发布.

有关更多信息,请查看builtins.jspackage.json