我的第一个聊天应用程序有问题。当我在本地主机上运行时,它可以完美运行。但是,当我将其部署到Herokuapp时,这是一个错误: Error Herokuapp Screen
这是我的脚本:app.js
var express = require('express')
var http = require('http')
var socketio = require('socket.io')
var app = express()
var http = http.createServer(app)
var io = socketio(http)
var path = require('path')
var config = {
port: process.env.PORT || 3000
}
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname, "views/index.html"))
})
io.on('connection', function(socket) {
io.emit('join')
socket.on('disconnect', function() {
io.emit('leave')
})
socket.on('chat message', function(x) {
io.emit('post message', x)
})
})
app.use(express.static(__dirname + "/public"))
http.listen(config.port)
完整的文件结构:File structure
btw这是我无法理解的错误消息:
...
2020-11-07T03:29:47.092238+00:00 app[web.1]: internal/modules/cjs/loader.js:834
2020-11-07T03:29:47.092284+00:00 app[web.1]: throw err;
2020-11-07T03:29:47.092285+00:00 app[web.1]: ^
2020-11-07T03:29:47.092285+00:00 app[web.1]:
2020-11-07T03:29:47.092286+00:00 app[web.1]: Error: Cannot find module 'express'
...
答案 0 :(得分:0)
如果在终端上运行heroku日志,会收到猫鼬openuri()错误吗?如果是这样,则必须在heroku上的应用程序设置中为PORT等环境变量设置配置变量。
答案 1 :(得分:0)
确保express模块包含在package.json文件中。那应该解决