【发布时间】:2018-08-19 03:26:06
【问题描述】:
我对一些看似微不足道的事情感到非常沮丧。
我在 node.js 服务器上运行一个 express 应用程序,用 ES6 编写并使用 webpack 编译。除了以下警告之外,它编译时没有任何错误:
../node_modules/socket.io/lib/index.js 113:11-32
0:0 warning Critical dependency: the request of a dependency is an expression
(虽然我不确定这是否与我当前的问题有关)
但是,当我启动服务器时,出现以下错误:
Error: Cannot find module 'socket.io-client/dist/socket.io.js'
at Function.webpackEmptyContext [as resolve] (webpack:///../node_modules/socket.io/lib_sync?:2:10)
at resolvePath (webpack:///../node_modules/socket.io/lib/index.js?:113:100)
at Server.serveClient (webpack:///../node_modules/socket.io/lib/index.js?:116:25)
at new Server (webpack:///../node_modules/socket.io/lib/index.js?:53:8)
at Function.Server [as listen] (webpack:///../node_modules/socket.io/lib/index.js?:44:41)
at new Socket (webpack:///./server/socket.js?:10:98)
套接字类:
import io from 'socket.io';
export default class Socket {
constructor(server) {
this.io = io.listen(server);
this.io.on('connection', (socket) => {
// Handle connection
});
}
}
服务器参数是express.listen()函数返回的对象。
我使用命令npm install socket.io --save 安装了socket.io,随后在我的package.json 中添加了依赖项"socket.io": "^2.1.1",并运行了命令npm install 来更新我的依赖项,但仍然遇到错误。
如您所知,我对此感到相当困惑...尤其是在几乎完全按照 here 遵循文档之后,因此非常感谢任何帮助!
【问题讨论】:
-
问题解决了吗?
-
你有没有找到解决这个问题的方法?谢谢
-
@BillDagg 不,我最终决定改用这个 npmjs.com/package/ws 并且从那以后就没有看过 socket.io
标签: node.js ecmascript-6 socket.io