عند محاولة الاتصال باستخدام
this._socket = io('http://localhost:5000');
تلقيت الخطأ TypeError: io ليست دالة. يمكنني رؤية ملف socket.io/socket.io.js في علامة تبويب الشبكة ويتم تحميله. لقد قمت بتثبيت socket.io باستخدام npm socket.io وأنا أستخدم الإصدار 1.3.6 من socket.io-client
يبدو هذا حقًا خطأ أساسيًا ومن المرجح أن يكون هناك خطأ ما في إعداداتك. لا تتردد في إعادة الفتح.
تواجه نفس المشكلة. ما هي الإعدادات؟
لدي نفس المشكلة. ما هي الإعدادات؟
تواجه نفس المشكلة. ما هي الإعدادات؟
نفس المشكلة هنا باستخدام Parcel.js / Typescript كمجمع ES6
استيراد * كـ io من "socket.io-client" ؛
يحل المشكلة.
ماذا لو كنت تستخدم جافا سكريبت عادي؟
استخدم io.connect()
بدلاً من io()
.
لا يمكن لـ io.connect () حل المشكلة ، لا تزال المشكلة قائمة
بالنسبة لي ، نجح الجمع بين اقتراحات renatosvo و
استيراد * كـ io من "socket.io-client" ؛
let ioClient = io.connect();
نفس المشكلة
عندما أقوم بالتصدير ، يعطيني خطأ رمز بلدي
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});
})
}
والخطأ الذي أحصل عليه هو
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
التعليق الأكثر فائدة
استخدم
io.connect()
بدلاً منio()
.