【问题标题】:node browserify for node core libraries用于节点核心库的节点浏览器
【发布时间】:2013-07-29 01:35:55
【问题描述】:

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

substack/node-browserify 说:

兼容性:许多不做 IO 的 npm 模块在之后才可以工作 被浏览器化。其他人需要更多的工作。许多节点内置模块 已经被包装在浏览器中工作,但只有当你明确地 require() 或使用它们的功能。

--

获取节点核心库事件、流、路径的浏览器版本, url、assert、buffer、util、querystring、http、vm 和 crypto 当你 要求()他们

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

实际上,我第一次使用 browserify 和 maxogden/websocket-stream,效果非常好。

【问题讨论】:

    标签: javascript node.js browserify


    【解决方案1】:

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

    为了提供有意义的替代方案,browserify 使用了一个名为 browser-builtins 的模块。

    查看这个模块的package.json file可以看到哪些核心模块是由外部包提供的。

    剩下的来from here

    如您所见,fs 之类的某些模块在浏览器中没有意义(至少目前不是)。

    Others 但是easily be adapted 可以在浏览器中工作。

    编辑:

    以上内容不再完全正确。本着模块化的精神,最新的 browserify 不再依赖于浏览器内置插件,而是每个模块 shim 单独发布。

    更多信息请查看builtins.jspackage.json

    【讨论】:

    • 感谢Thorsten Lorenz,因为它说许多节点内置模块已被包装在浏览器中工作,我不知何故认为它直接取决于节点核心,但我理解其实,这取决于alexgorbatchev的一些艰苦的手工工作,太棒了。
    猜你喜欢
    • 1970-01-01
    • 2017-03-20
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多