实现socket.io聊天应用程序

时间:2018-03-10 19:20:00

标签: javascript socket.io

我通过使用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

0 个答案:

没有答案