Saat mencoba terhubung menggunakan
this._socket = io('http://localhost:5000');
Saya mendapatkan kesalahan TypeError: io is not a function. Saya dapat melihat file socket.io/socket.io.js di tab jaringan dan sedang dimuat. Saya telah menginstal socket.io menggunakan npm socket.io dan saya menggunakan socket.io-client versi 1.3.6
Ini terlihat benar-benar kesalahan mendasar dan kemungkinan besar ada yang salah dengan pengaturan Anda. Jangan ragu untuk membuka kembali.
memiliki masalah yang sama. Pengaturan apa?
Saya memiliki masalah yang sama. Pengaturan apa?
memiliki masalah yang sama. Pengaturan apa?
Masalah yang sama di sini menggunakan Parcel.js / TypeScript sebagai bundler ES6
impor * sebagai io dari 'socket.io-client';
memecahkan masalah.
Bagaimana jika menggunakan JavaScript lama biasa?
Gunakan io.connect()
alih-alih io()
.
io.connect() tidak dapat menyelesaikan masalah, masalah masih ada
bagi saya kombinasi @renatosvo dan @Kacppian saran bekerja:
impor * sebagai io dari "socket.io-client";
let ioClient = io.connect();
permasalahan yang sama
ketika saya mengekspor itu memberi saya kesalahan kode saya adalah
const express = require('express');
const router = express.Router();
var app = express();
const io = require('socket.io');
const fs = require('fs');
const { ensureAuthenticated } = require('../db/auth.js');
//exporting dashboard
module.exports = {
dash: router.get('/', (req,res)=>{
var chat = io.on('connection', (socket)=>{
console.log('chat is connected');
})
res.render('dashboard', {chat:chat});
})
}
dan kesalahan yang saya dapatkan adalah
io.on is not a function
TypeError: io.on is not a function
at E:\expressBasedLOginSignUP\routes\dashboard.js:13:19
at Layer.handle [as handle_request] (E:\expressBasedLOginSignUP\node_modules\express\lib\router\layer.js:95:5)
at next (E:\expressBasedLOginSignUP\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\expressBasedLOginSignUP\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\expressBasedLOginSignUP\node_modules\express\lib\router\layer.js:95:5)
at E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:281:22
at Function.process_params (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:335:12)
at next (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:275:10)
at Function.handle (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:174:3)
at router (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (E:\expressBasedLOginSignUP\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:317:13)
at E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:284:7
at Function.process_params (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:335:12)
at next (E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:275:10)
at E:\expressBasedLOginSignUP\node_modules\express\lib\router\index.js:635:15
Komentar yang paling membantu
Gunakan
io.connect()
alih-alihio()
.