微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Herokuapp无法部署,但可以在localhost:3000上完美运行

如何解决Herokuapp无法部署,但可以在localhost:3000上完美运行

我的第一个聊天应用程序有问题。当我在本地主机上运行时,它可以完美运行。但是,当我将其部署到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'
...

解决方法

如果在终端上运行heroku日志,会收到猫鼬openuri()错误吗?如果是这样,则必须在heroku上的应用程序设置中为PORT等环境变量设置配置变量。

,

确保express模块​​包含在package.json文件中。那应该解决

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。