首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >node.js:使用es6导入socket.io

node.js:使用es6导入socket.io
EN

Stack Overflow用户
提问于 2018-10-23 03:34:26
回答 1查看 8.8K关注 0票数 10

我正在编写一个使用es6脚本在node.js中处理套接字连接的示例代码,在导入socket.io时会引发错误

代码语言:javascript
复制
import {
  PORT
} from './config';

import express from 'express';
import io from 'socket.io';

var app = express();

// respond with "hello world" when a GET request is made to the homepage
app.get('/', function(req, res) {
  res.send('hello world')
});

io.on('connection', function(socket) {
  console.log('a user connected');
});

app.listen(PORT, () => console.log(`Example app listening on port ${PORT}!`));

错误是

/index.js:17 _socket.default.on(‘连接’,函数(套接字){^

TypeError:_socket.default.on不是Object.on TypeError at Module._compile (module.js:643:30) at Module._compile (/Users/digvijay.upadhyay/digvijayu/websocket_with_node/node_modules/pirates/lib/index.js:83:24) at Module._extensions..js (module.js:654 )的函数:10) at Object.newLoader as .js at Module.load (module.js:556:32) at tryModuleLoad (module.js:499:12) at Function.Module._load (module.js:491:3) at Function.Module.runMain (module.js:684:10) at Object。(/Users/digvijay.upadhyay/digvijayu/websocket_with_node/node_modules/@babel/node/lib/_babel-node.js:224:23)节点应用程序崩溃-正在等待文件更改,然后再启动...使用Babel成功编译了%2个文件。使用Babel成功编译了2个文件。

EN

回答 1

Stack Overflow用户

发布于 2018-10-23 03:43:44

您需要调用函数require('socket.io')()并传递一个express实例。

请看添加的代码示例:

代码语言:javascript
复制
const express = require('express');
const http = require('http');
const socketIO = require('socket.io');

const app = express();
const server = http.createServer(app);
// this line \/
const io = socketIO(server);
// this line /\


io.on('connection', (socket) => {
    //...
});

server.listen(port, () => {
    //...
});
票数 -7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52936584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档