app.js
var express = require('express');
var path = require('path');
var config = require("./config");// 处理配置文件
var session = require("express-session");// 处理session cookie
var MongoStore = require('connect-mongo')(session);// 将session存到mongoDB
var formidable = require("express-formidable");// 解析提交内容
var postRoutes = require("./router/postRoutes");
var apiRoutes = require("./router/apiRoutes");
var app = express();
app.set(express.static(path.join(__dirname,"/public")));
app.set("views",path.join(__dirname,"/public"));
app.set("view engine","ejs");
// 中间件session
app.use(session({
name:config.session.key,
secret:config.session.secret,
cookie:{
maxAge:config.session.maxAge
},
store:new MongoStore({
url:config.mongodb
})
}));
// 中间件formidable解析form提交
app.use(formidable({
uploadDir:path.join(__dirname,"public/avatar"),// 头像路径
keepExtensions:true// 保留后缀
}));
app.use("/post",postRoutes);
app.use('/api',apiRoutes);
app.listen(3000,function(){
console.log("listen on port 3000 ******************");
})
postRouter
var express = require('express');
var path = require("path");
var sha1 = require('sha1');
var postModel = require('../model/db').postModel;
var groupModel = require('../model/db').groupModel;
var moment = require('moment');
var marked = require('marked');
var postRoutes = express.Router();
var Err = 0;
var OK = 1;
// 主页
postRoutes.get('/posts',function(req,res){
postModel.find({},function(err,posts){
if (err) {
res.json({'style':Err});
return;
}
res.json({'style':OK,"posts":posts});
console.log('/posts');
// return;
});
});
apiRouter
var express = require('express');
var userModel = require('../model/db').userModel;
var groupModel = require('../model/db').groupModel;
var apiRoutes = express.Router();
const Err = 0;
const OK = 1;
apiRoutes.get('/userInfo',function(req,res){
userModel.findOne({name:'哈哈'},function(err,user){
res.json({
'style': OK,
'user':user
})
console.log('/userInfo');
})
});
module.exports = apiRoutes;
不是永远报错,是有时会报这个错误。我删的就剩这两个了,还是会报错;
错误的意思我知道,return 的位置写错了么?
请教应该怎么写?
出现好几天了,我试了很多方法,求一语道破。
问题解决了!
这个插件抽风,换成bodyparser来解析就没问题了,谢谢各位了。