javascript - Node 核心库的 Node 浏览器

标签 javascript node.js browserify

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

substack/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.jspackage.json

关于javascript - Node 核心库的 Node 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914810/

相关文章:

javascript - 使用 jQuery Mobile 同时打开两个面板

javascript - 浏览器 - 强制重新加载删除cookie?

node.js - ExpressJs 在生产模式下不缓存 View

node.js - npm CA 证书的位置

browserify - 如何使用grunt,browserify和babelify启用源 map

javascript - browserify 检测自定义 require()

javascript - X 秒后仅刷新指定的 div?

javascript - 如何向我的数据添加 HTML 表格并保留 Google 表格格式

node.js - Azure Redis 缓存数据丢失?

javascript - Es6 React 箭头函数行为