我通过使用Udemy教程使用socket.io创建了聊天应用程序的开头,但应用程序似乎没有按预期工作。由于没有人监控教程的Q& A,我需要将我的问题提交给更广泛的受众。
当代码处于现在的状态时,我应该可以在应用程序中输入消息,但我不能。我在控制台中收到404错误,并指出无法找到service-worker.js
。我已根据教师的屏幕代码检查并重新检查了我的代码,我找不到错误。现在是时候向网络开放讨论了。
以下是application.js
文件中的代码:
'use strict'
const socket = io()
const chatInput = document.querySelector('.chat-form input[type=text]')
chatInput.addEventListener('keypress', event => {
if (event.keycode !== 13)
return
event.preventDefault()
const text = event.target.value.trim()
if (text.length === 0)
return
socket.emit('chat:add', {
message: text
})
event.target.value = ''
})
以下是server.js
文件中的代码:
'use strict'
const http = require('http')
const express = require('express')
const socketIo = require('socket.io')
const app = express()
app.set('view engine', 'jade')
app.use(express.static('./public'))
app.get('/', (request, response) => {
response.end('<h1>Hello world</h1>')
})
app.get('/home', (request, response) => {
response.render('index', {title: 'TITLE'})
})
const server = new http.Server(app)
const io = socketIo(server)
io.on('connection', socket => {
console.log('client connected')
socket.on('chat:add', data => {
console.log(data)
})
socket.on('disconnect', () => {
console.log('socket disconnected')
})
})
const port = 3000
server.listen(port, () => {
console.log(`Server started on port ${port}`)
})
如果更易读,此代码也已复制到GitHub Gist。