创建了一个 MEAN 堆栈应用程序。当我的服务器.js文件中添加猫鼬并将其添加到 openshift 时,应用程序停止工作。它显示服务暂时不可用。
服务器.js代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var multer = require('multer');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var cookieParser = require('cookie-parser');
var session = require('express-session');
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/myproject');
var UserSchema = new mongoose.Schema({
firstname: String,
lastname: String,
email: String,
username: String,
password: String
});
var UserModel = mongoose.model('UserModel', UserSchema);
var ip = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
var port= process.env.OPENSHIFT_NODEJS_PORT || 3000;
app.listen(port, ip);
package.json:
{
"name": "MyProject",
"version": "1.0.0",
"description": "MyProject CS5610",
"main": "server.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "Pankaj Tripathi",
"license": "ISC",
"dependencies": {
"body-parser": "^1.12.2",
"cookie-parser": "^1.3.4",
"express": "^4.12.3",
"express-session": "^1.10.4",
"http": "0.0.0",
"mongoose": "^3.8.25",
"multer": "^0.1.8",
"passport": "^0.2.1",
"passport-local": "^1.0.0"
}
}
RHC 尾部显示以下错误:
模数.js:340 投掷错误; ^错误:找不到模块"/var/lib/openshift/552644dffcf933d46400014d/server.js" 在Function.Module._resolveFilename(模块.js:338:15) 在Function.Module._load(模块.js:280:25) at Function.Module.runMain (module.js:497:10) 启动时(节点.js:119:16) 在节点.js:902:3[myproject-pankajt.rhcloud.com 552644dffcf933d46400014d]> lsApp-deployments app-root git mongodb nodejs[myproject-pankajt.rhcloud.com 552644dffcf933d46400014d]> 等待输入超时:自动注销与 myproject-pankajt.rhcloud.com 的连接已关闭。
这个语句完成了这项工作。
var connectionString = process.env.OPENSHIFT_MONGODB_DB_URL || 'mongodb://localhost/myproject';
mongoose.connect(connectionString)
更改
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
自
"scripts": {
"start": "server app.js"
},
"engines": {
"node": ">= 0.6.0",
"npm": ">= 1.0.0"
}