我正在使用套接字设置一个基本的聊天应用程序,但在编程的最初阶段,我在客户端得到了一个错误:“io未定义”。
我尝试过包括CDN和添加,但没有成功。
<head>
<script src="jquery-3.2.1.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script src="script.js"></script>
</head>script.js
let socket = io();
console.log("socket formed on " + socket.id)server.js
const express = require('express')
const path = require('path')
const socketio = require('socket.io')
const http = require('http')
const app = express();
const server = http.createServer(app)
const io = socketio(server)
app.use('/', express.static(path.join(__dirname, 'frontend')))
io.on('connection', (socket) => {
console.log("New socket formed fksrom " + socket.id)
})
server.listen(2345, () => console.log('website open on http://localhost:2345'))我希望控制台中显示套接字ID,但在控制台上显示的是“io未定义”。
发布于 2019-06-06 11:11:34
我认为您应该检查文档是否已加载,下面的代码如下:
// Pure Javascript
if(document.readyState === "complete") {
//Already loaded!
}
else {
//Add onload or DOMContentLoaded event listeners here: for example,
window.addEventListener("onload", function () {/* Move your code here */}, false);
//or
//document.addEventListener("DOMContentLoaded", function () {/* code */}, false);
}因为您已经拥有了jQuery:
$(document).ready(function(){
/** Your code here */
})您正在尝试在脚本加载之前访问它,所以只有在加载完jQuery库和socket.io.js库之后,上面的代码才能帮助您运行脚本。
https://stackoverflow.com/questions/56476322
复制相似问题