【问题标题】:How to make a node modules available in the browser like *socket.io* does如何使节点模块在浏览器中可用,如 *socket.io* 确实
【发布时间】:2018-08-17 05:24:01
【问题描述】:

使用socket.io,以及它的documentation,在安装和需要模块socket.io之类的时候,

您也可以在浏览器中加载客户端库,例如,

无需配置任何特定的构建链,或运行 Browserify 命令或其他任何东西。

他们是怎么做到的?

【问题讨论】:

    标签: javascript node.js browser browserify


    【解决方案1】:

    它们为库的客户端和服务器版本提供单独的存储库。

    服务器端版本是这样的:https://github.com/socketio/socket.io 这是客户:https://github.com/socketio/socket.io-client

    他们使用 Gulp 脚本来构建位于 dist 文件夹中的独立 JS 文件。您可以查看gulpfile 了解详情。

    当您以 CommonJS 方式加载客户端时,文件 lib/index.js 正在被加载,因为它在 package.json 中被提及为 main/entry 脚本,就像这样 "main": "./lib/index"

    我希望这能回答你的问题

    【讨论】:

    • 谢谢,但这不能解释“socket.io/socket.io.js”路由是如何暴露的,不是吗?
    • @adelriosantiago 实际上,socket io 服务器依赖于 'socket.io-client'。您可以在package.json 中看到这一点。然后它会自动为这个客户端库提供服务。代码在第 105 行,https://github.com/socketio/socket.io/blob/master/lib/index.js
    猜你喜欢
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    相关资源
    最近更新 更多