这个问题只是为了确认我对 node browserify 的理解。
compatibility: Many npm modules that don't do IO will just work after being browserified. Others take more work. Many node built-in modules have been wrapped to work in the browser, but only when you explicitly require() or use their functionality.
--
get browser versions of the node core libraries events, stream, path, url, assert, buffer, util, querystring, http, vm, and crypto when you require() them
node browserify 是否获取 node 内置模块的源代码,并构建一个捆绑文件;通过正确选择当前工作的 NVM 版本?
实际上,我第一次使用 browserify maxogden/websocket-stream , 效果惊人。
最佳答案
不,它不使用初始形式的 Node 核心模块。某些功能在浏览器中根本没有意义,或者至少必须进行调整才能有意义。
相反,browserify 使用一个名为 browser-builtins 的模块以提供有意义的替代方案。
检查 package.json file在这个模块中可以看到外部包提供了哪些核心模块。
剩下的来了from here .
如你所见,一些模块像fs在浏览器中没有意义(至少目前没有意义)。
Others然而可以easily be adapted在浏览器中工作。
编辑:
以上不再完全正确。本着模块化的精神,最新的 browserify 不再依赖浏览器内置插件,而是每个模块 shim 单独发布。
有关更多信息,请查看 builtins.js和 package.json
关于javascript - Node 核心库的 Node 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914810/