-
글쓴이글
-
2021년 1월 11일 21:07 #5952
익명비활성설명대로 socket.io도 잘 설치해서 웹소켓 첫강의 잘 듣고 있었는데
7분쯤부터
const io = require('socket.io').listen(http);
^TypeError: require(...).listen is not a function
at Object.<anonymous> (C:\Users\chris\OneDrive\문서\NodeJS\server.js:12:33)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
[nodemon] app crashed - waiting for file changes before starting...
[nodemon] restarting due to changes...
이런식으로 TypeError가 뜨더라고요그래서 오타가 있을까봐 강의 아래 설명란에 있는 코드들 복사해서 수정했는데도 오류가 나서
구글에 저내용 검색해보니
const io = require('socket.io').listen(http); 이내용을
const io = require('socket.io')(http); 이런식으로 바꾸라고 해서 수정했더니
오류는 나지 않았지만, 웹사이트 실행시 터미널에 출력되어야하는 "연결되었어요" 가 전혀 출력되지 않아서
이렇게 문의드리는데,
혹시 해결법이 있나요? 없다면 server.js파일과 chat.ejs파일좀 보내주실수 있으신가요 부탁드립니다 ㅠㅠ
2021년 1월 11일 22:16 #5955
codingapple키 마스터(server.js)
const express = require('express');
const app = express();const http = require('http').createServer(app);
const io = require('socket.io').listen(http);const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
const MongoClient = require('mongodb').MongoClient;
app.set('view engine', 'ejs');
app.use('/public', express.static('public'));var db;
MongoClient.connect('dbURL', { useUnifiedTopology: true }, function (에러, client) {if (에러) return console.log(에러)
db = client.db('todoapp');http.listen(8080, function () {
console.log('listening on 8080')
});});
io.on('connection', function(socket){
console.log('연결되었어요');socket.on('인삿말', function(data){
console.log(data);
io.emit('퍼트리기' , data);
});});
2021년 1월 11일 22:20 #5957
codingapple키 마스터(chat.ejs)
<script src="어디서찾아온socket.io.js 파일"></script>
<script> var socket = io(); </script>
이것만 하면 잘 나올걸요
근데 script태그안에 cdn으로 저거 복붙하실 때 현재 package.json에 있는 socket.io 버전이랑 맞는지 한번 체크해보는게 좋을듯 합니다.
아니면 강의에선 socket.io 2.3버전을 썼기 때문에 npm install socket.io를 할 때 2.3버전으로 설치해도 괜찮을듯요
-
글쓴이글
- 답변은 로그인 후 가능합니다.