当我运行我的node js应用程序给节点app.js,设置NODE_ENV =生产,它不是被设置为生产,而是它给了连接超时错误,当我运行应用程序。我想它实际上得到连接与蒙古ab请等待您的建议。提前谢谢你。
C:UsersDesktopmyapp>node app.js
ChatBox working on port 3000
Mode:development
C:UsersDesktopmyappnode_modulesmongoosenode_modulesmongodblibse
rver.js:228
process.nextTick(function() { throw err; })
^
Error: connect ETIMEDOUT
at exports._errnoException (util.js:746:11)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
这是我的app.js程序
var express = require('express'),
app = express(),
path =require('path'),
cookieParser = require('cookie-parser'),
session = require('express-session'),
config = require('./config/config.js'),
ConnectMongo = require('connect-mongo')(session)
mongoose = require('mongoose').connect(config.dbURL)
app.set('views', path.join(__dirname, 'views'));
app.engine('html', require('hogan-express'));
app.set('view engine' , 'html');
app.use(express.static(path.join(__dirname,'images')));
app.use(cookieParser());
//app.route('/').get(function(req,res,next){
// res.render('index', {title:'Welcome to ChatBox'});
//})
var env = process.env.NODE_ENV || 'development';
if(env ==='development'){
app.use(session({secret:config.sessionSecret,
saveUninitialized:true,
resave:true}))
}
else
{
app.use(session({
secret:config.sessionSecret,
saveUninitialized:true,
resave:true,
store:new ConnectMongo({
url:config.dbURL,
stringify:true
})
}))
}
var userSchema = mongoose.Schema({
username:String,
password:String,
fullname:String
})
var Person = mongoose.model('users',userSchema);
var Kajol= new Person({
username:'Kajol',
password:'kajol_123',
fullname:'Kajol Sakshi'
})
Sunitha.save(function(err){
console.log('done');
})
require('./route/route.js')(express , app);
app.listen(3000,function(){
console.log('ChatBox working on port 3000');
console.log("Mode:" +env);
})
我development.json 这是假的URL,我没有把我的原始URL贴在这里。仅用于格式
{
"dbURL" :"mongodb://chatboxuser:chatbox1234@ds051803.mongolab.com:41603/chatbox",
"sessionSecret":"ALKKLHFDOI7UW98U3209UNFER923YH"
}
从之前发送的错误消息来看,有可能mongoose没有正确编译。通过使用这个页面https://github.com/nodejs/node-gyp
你会注意到在这个页面上node-gyp, nodejs用来将模块编译成本地代码的模块需要一些额外的东西,比如Visual Studio等。看看你是否可以下载这些并按照指示进行设置。完成后,再次安装node-gyp,并重新安装所有依赖项,包括mongoose。
一般来说,这应该作为最后的措施来完成工作。