节点核心库节点浏览

这只是为了确认我对node browserify的理解。

substack / node-browserify说:

兼容性:许多不做IO的npm模块在浏览完成后才能正常工作。 其他人需要更多工作。 许多节点内置模块已被封装在浏览器中工作,但只有在明确要求()或使用其function时。

获取节点核心库事件,stream,path,url,assert,buffer,util,querystring,http,vm和crypto的浏览器版本

节点browserify是否获取节点内build模块的源代码,并构造一个捆绑文件; 通过正确select当前正在运行的NVM版本?

实际上,我第一次使用了maxogden / websocket-stream的浏览器 ,并且令人惊叹。

不,它不以初始forms使用节点核心模块。 某些function在浏览器中根本就没有意义,或者至less必须适应才有意义。

相反,browserify使用一个名为browser-builtins的模块来提供有意义的select。

检查这个模块的package.json文件 ,你可以看到哪些核心模块是由外部软件包提供的。

其余的来自这里 。

正如你所看到的,一些像fs这样的模块在浏览器中是没有意义的(至less在这一点上是不行的)。

其他人可以很容易地适应在浏览器中工作。

编辑:

以上不完全是真的了。 本着模块化的精神,最新的browserify不再依赖于browser-builtins,而是每个module shim单独发布。

欲了解更多信息,请查看builtins.js和package.json