在views下创建一个文件夹 back ,在back文件夹下创建模板index.jade,定义模板路由,访问模板404。
目录结构如下图
app.js代码如下
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views')); //设置模板相对路径(相对当前目录)
app.set('view engine', 'jade'); //设置模板引擎
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
users.js路由定义 back文件夹下的index.jade
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
router.get('/back', function(req, res, next) {
res.render('back/index',{title:'后台首页'});
});
module.exports = router;
顺便把index.js 代码也贴一下
var express = require('express');
var router = express.Router();
var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/calutar';
var insertData = function (db,data,callback) {
var collection = db.collection('calutar');
collection.insert(data,function (err,result) {
if(err){
console.log('Error'+err);
return;
}
callback(result);
})
}
var getData = function (db,callback) {
var collection = db.collection('calutar');
collection.find().toArray(function (err,result) {
if(err){
console.log('Error:'+err);
return;
}
callback(result)
})
}
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: '公积金计算' });
});
router.get('/history',function (req,res,next) {
res.render('history', { title: '查询历史' });
});
//接口 计算结果接口
router.post('/foot',function (req,res) {
// 从表单取得数据
var accountTemp = req.body.account; //账户余额
var monthTemp = req.body.month/1; //每月缴费
var ageTemp = req.body.age/1; //年龄
var sexTemp = req.body.sex; //性别
var termLimitTemp = req.body.termLimit; //贷款期限
var typeTemp = req.body.type; //还款类型
var ageLong; // -- 年龄段
if(sexTemp == 0){ //=0男,=1女
ageLong = (60 - ageTemp)*12;
}else if(sexTemp == 1){
ageLong = (55 - ageTemp)*12;
}
var maxGetTemp = accountTemp*8+monthTemp*ageLong; // -- 最高可贷款
var monthReturnTemp;
if(typeTemp==0){ //等额还款
monthReturnTemp = maxGetTemp/ageLong;
}
else if(typeTemp==1){ //逐月递减
monthReturnTemp = maxGetTemp/ageLong+3000;
}
var dateTemp = new Date().getTime();
var query_doc = {account:accountTemp,month:monthTemp,age:ageTemp,sex:sexTemp,termLimit:termLimitTemp,type:typeTemp,maxGet:maxGetTemp,monthReturn:monthReturnTemp,date:dateTemp}
MongoClient.connect(DB_CONN_STR,function (err,db) {
insertData(db,query_doc,function (result) {
console.log("插入数据成功", result);
db.close();
})
});
var json ={code:0,msg:'request is ok',data:{maxGet:maxGetTemp,monthReturn:monthReturnTemp}};
res.send(json);
});
router.post('/head',function (req,res) {
MongoClient.connect(DB_CONN_STR,function (err,db) {
getData(db,function (result) {
console.log("获取数据成功",result);
res.send({code:0,msg:'request is ok',data:result})
db.close();
})
})
})
module.exports = router;
菜鸟初学者,很是迷茫,有没有大神解决下我的问题,不胜感激
app.set('views', [path.join(__dirname, 'views'),path.join(__dirname, 'views/back')]);