node.js - 启动快速应用程序时找不到模块'socket.io-client/dist/socket.io.js'
问题描述
对于看似微不足道的事情,我有一个非常令人沮丧的问题。
我在 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()
函数返回的对象。
我使用命令安装了 socket.io npm install socket.io --save
,随后"socket.io": "^2.1.1"
在我的 package.json 中添加了依赖项,并运行了命令npm install
来更新我的依赖项,但仍然遇到错误。
如您所知,我对此感到相当困惑......尤其是在几乎完全按照这里的文档之后,因此非常感谢任何帮助!
解决方案
这对我来说起到了作用:
var io = require('socket.io')(server, { serveClient: false })
推荐阅读
- c - 链表中的顺序有时有效,有时无效。很奇怪
- javascript - 使用车把助手和 javascript 的类别组
- unit-testing - IntelliJ 不会在断点处停止
- reactjs - 如何在单选按钮单击上设置文本框
- python - 为什么减法的行为如下?
- c# - Xamarin,从另一个类中获取滑块的值
- reactjs - npx create-react-app 仅创建节点模块、package.json 、yarn.lock 并且不创建其他文件
- python - 如何使用 html 类名进行抓取?
- python - Python 列表索引必须是整数或切片,而不是 str
- vim - 控制台 Vim 不呈现粗体和斜体文本