【发布时间】:2019-03-01 09:43:46
【问题描述】:
我是初学者,我正在尝试在网络上部署我的 nodeJS 应用程序,该应用程序在本地运行。我正在使用 Jelastic 云。我已经创建了一个环境。现在,当我想从本地文件部署时,我必须提供一个 .zip 文件。
。
我尝试将其压缩为 .gif 并使用此 .gif。 Jelastic 说部署成功了,但是启动服务器失败了。
所以我想知道它是否是提供的好文件,而且我不确定 package.json 上应该有什么(实际上只有依赖项(以及名称和版本))。 此外,我不确定必须在服务器文件上为 server.listen 提供哪些参数。
如果您有任何其他建议,我也会很高兴。 我也试过heroku,它返回一个npm ERR:缺少脚本:开始
有代码:
server.js:
var http=require("http");
var express = require('express');
var app =express();
var mainServer=http.createServer(app);
var fs = require('fs');
var io =require('socket.io'). listen(mainServer);
var users=[];
var waitingRoomSize=0;
var readyToPlay=[];
var nbUser=0;
var accounts = JSON.parse(fs.readFileSync(__dirname+'/accounts.json',{encoding:'utf8'},function(err){if(err){throw err;}}));
var clockOfGames = 0;
//var p=0;
var TimePassing = setInterval(function(){clockOfGames++},50);
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.set('views', __dirname);
function account(_pseudo,_mdp){
...
}
function user(pseudo,id,_mainId){
...
}
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
app.get('/onGamePage/:mId',function(req, res){
var x = String(req.params.mId).substring(0,11);
if (x=='heavenStone'){
var prm = req.params.mId;
res.render('onGamePage.html',{mainId:prm});
}
});
app.get('/index/:mId',function(req, res){
var x = String(req.params.mId).substring(0,11);
if (x=='heavenStone'){
var prm = req.params.mId;
res.render('index.html',{mainId:prm});
}
});
app.use(express.static(__dirname+"/style/"));
io.sockets.on('connection', function(socket){
...
});
mainServer.listen(80);
包.json:
{
"name": "TM",
"start":"node server.js",
"version": "0.1.0",
"dependencies": {
"ejs": "^2.6.1",
"ent": "~0.1.0",
"express": "^3.21.2",
"fs": "0.0.1-security",
"mysql": "^2.16.0",
"node-mysql-admin": "^0.1.5",
"nodeadmin": "^0.1.2",
"socket.io": "^1.2.1"
},
"author": "Lenny"
}
然后是一些html。
【问题讨论】:
-
您好,没有 node_modules 文件夹,您运行 npm install 命令了吗?
-
嗯.. 不,我不知道我必须在哪里这样做...
-
我知道,但我不太明白。我实际上不知道该怎么做,我的部署在我尝试使用链接时返回错误 502,node_module 文件夹中应该有什么,我在哪里可以运行命令?