Heroku上的Socket.IO/Express/Nuxt?

Heroku上的Socket.IO/Express/Nuxt?,heroku,socket.io,nuxt.js,Heroku,Socket.io,Nuxt.js,我已经使用socket.io编写了一个通用Nuxt聊天应用程序。这是我第一次深入研究WebSocket和后端。我是一个初级前端开发人员。所以在localhost上,一切都很完美。但当我在heroku上部署应用程序时,会出现以下错误: 得到 网络::错误连接被拒绝 在socket.js文件中,我将connection属性设置为localhost 也许我应该用heroku期望我的东西来代替它?UPD!我刚刚用heroku应用程序的网址添加并替换了属性连接的值:“”,它可以工作,但是如果我将替换我的应

我已经使用socket.io编写了一个通用Nuxt聊天应用程序。这是我第一次深入研究WebSocket和后端。我是一个初级前端开发人员。所以在localhost上,一切都很完美。但当我在heroku上部署应用程序时,会出现以下错误:

得到 网络::错误连接被拒绝

在socket.js文件中,我将connection属性设置为localhost
也许我应该用heroku期望我的东西来代替它?

UPD!我刚刚用heroku应用程序的网址添加并替换了属性连接的值:“”,它可以工作,但是如果我将替换我的应用程序的名称,那么地址也将被替换,该怎么办。你们知道解决方案吗?在这种情况下,你们应该使用
env
变量,这些变量可以在本地机器和Heroku环境中读取(在这种情况下称为
config vars
),你们有反向代理吗?
index.js

const consola = require('consola')
const { Nuxt, Builder } = require('nuxt')
const { app, server } = require('./app')

let config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')

async function start() {
  const nuxt = new Nuxt(config)

  const { host, port } = nuxt.options.server

  if (config.dev) {
    const builder = new Builder(nuxt)
    await builder.build()
  } else {
    await nuxt.ready()
  }

  app.use(nuxt.render)

  server.listen(port, () => {
    consola.ready({
      message: `Server listening on http://${host}:${port}`,
      badge: true
    })
  })
}
start()




socket.js

import Vue from 'vue'
import VueSocketIO from 'vue-socket.io'

export default function({ store }) {
  Vue.use(
    new VueSocketIO({
      debug: false,
      connection: 'http://localhost:3000',
      vuex: {
        store,
        actionPrefix: 'SOCKET_',
        mutationPrefix: 'SOCKET_'
      }
    })
  )
}






app.js

const app = require('express')()
const server = require('http').createServer(app)
const io = require('socket.io')(server)
const users = require('./users')()

const m = (name, text, id) => ({ name, text, id })

io.on('connection', socket => {
  socket.on('userJoined', (data, cb) => {
    if (!data.name || !data.room) {
      return cb('Данные некорректны')
    }

...