我需要 Chrome 打包应用程序和 NodeJS 脚本之间的 socket.io 连接。我熟悉 NodeJS 和 socket.io,但不熟悉 Chrome 打包应用。
这似乎很难(我还没有找到任何文档解释如何做到这一点)。
我首先尝试简单地加载从我的 NodeJS (http://localhost:8080/socket.io/socket.io.js
) 提供的 socket.io.js 脚本。但 CSP 禁止这样做。
然后我找到the socket.io-client .我对英语不是很熟悉,但我知道它涉及在没有服务器的情况下加载 socket.io 客户端脚本,对吧?
所以我尝试在我的 background.html 页面中加载脚本“socket.io-client/socket.io-client.js”,但 chrome 向我发送错误:
Uncaught Error: failed to require "socket.io" from "root"
我迷路了... 在尝试更进一步之前,我只是问自己 socket.io 是否是在我的打包应用程序和 Nodejs 之间建立对话的好主意。
如果是,我如何在客户端加载和运行它?
编辑: 我想知道我是否必须使用经典的 Websocket 而不是 socket.io。我知道它适用于打包的应用程序,如图所示 here但是开发 socket.io 给我们的相同功能(传递对象)需要更多时间。
谢谢你的帮助:)
最佳答案
试试这个,从 node_modules 中获取 socket.io.js:
$ find . -name socket.io.js
./node_modules/socket.io-client/dist/socket.io.js
将其与客户端库一起复制,然后像这样包含它:
<script type="text/javascript" src="js/libs/socket.io.js"></script>
如果你不介意路径太长,也可以直接包含它。
关于node.js - 我可以在我的 Chrome 打包应用程序中使用 socket.io 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20593679/