![](/img/trans.png)
[英]Heroku: What will be the hostname and port of my deployed socket.io app
[英]Socket.io application is not getting deployed to Heroku
我已經使用 nodejs、socket.io 和 express 創建了一個基本的聊天服務器,我正在嘗試使用我的 git repo 從 heroku 部署它。 當我為我的應用程序打開 herokuapp 網站時( https://obnerd-chat-app.herokuapp.com/ ),它顯示如下內容:
這是我的 server.js 文件,它與 package.json 中的 main 鏈接:
//router for server
var express = require('express')
var app = express()
var server = require('http').Server(app);
var io = require('socket.io').listen(server)
server.listen(process.env.PORT);
//server.listen(80);
var users = {};
app.use('/app', express.static(__dirname + '/app'))
app.get('/', function(req, res){
//serve our index.html
res.sendFile(__dirname + '/app/index.html');
});
io.on('connection', function(socket){
socket.on('new-user', function(user){
users[socket.id] = user.name
console.log(users[socket.id] + " connected");
socket.broadcast.emit('user-connected', user)
io.emit('user-online', 'There are currently '+Object.keys(users).length+' online')
})
socket.on('disconnect', function(){
console.log(users[socket.id] + " disconnected");
socket.broadcast.emit('user-disconnected', users[socket.id])
delete users[socket.id]
io.emit('user-online', 'There are currently '+Object.keys(users).length+' online')
})
})
//divert again, emit message
io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
和 package.json
{
"name": "live-chat-app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"express": "^4.15.2",
"socket.io": "^2.3.0"
},
"devDependencies": {
"node-static": "^0.7.11",
"nodemon": "^2.0.2"
},
"scripts": {
"start": "nodemon server.js"
},
"author": "",
"license": "ISC"
}
請幫我解決這個問題,因為我對這些“部署”的東西不是很熟悉。
評論,答案表示贊賞。
好的,我知道錯誤是什么:
包 devDependencies 意外地包含了 nodemon,我的npm start
命令是nodemon server.js
所以因為 nodemon 被刪除了,我無法部署該應用程序。
通過將其更改為這樣來修復該問題: start : node server.js
一切正常。
檢查我的聊天應用程序並給我一些改進的提示。 謝謝你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.