express中间层搭建前端项目2
上面一片文章已经介绍怎样创建nodejs服务端服务,这篇将express搭建路由第一章搭建nodejs服务
配置app.js引入相关中间件
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
//文件读取
var fs = require("fs");
//gzip压缩
var compression = require('compression');
//处理异常
var domain = require('domain');
var app = express();设置模板引擎
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');使用相关中间件
// uncomment after placing your favicon in /public
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
//log日志
app.use(logger('dev'));
//HTTP请求体解析中间
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: false
}));
//对http传入的cookie进行解析后赋值给req.cookies
app.use(cookieParser());
//引入public文件里面的静态资源包括css,js,image etc.
app.use(express.static(path.join(__dirname, 'public')));引入路由文件
//路由文件读取
var file = fs.readdirSync('./routes');
for (var i in file) {
    var name = file[i].replace('.js', '');
    require('./routes/' + name)(app, domain);
}抓取错误信息
// catch 404 and forward to error handler
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
});错误处理,渲染404页面
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.statusCode = 404;
    res.render('htmlerror');
});抛出模块
module.exports = app;
下一章express搭建前端项目3
相关推荐
  webgm    2020-08-16  
   疯狂紫萧    2020-06-16  
   lei0    2020-11-02  
   igogo00    2020-07-04  
   iconhot    2020-06-26  
   88481456    2020-06-18  
   yezitoo    2020-06-06  
   SelinaChan    2020-05-15  
   luckymaoyy    2020-04-25  
   80437700    2020-04-17  
   austindev    2020-04-07  
   我有一只小松鼠    2020-02-29  
   webfullStack    2020-02-15  
   binglingnew    2012-10-03  
   始作俑者    2020-01-19  
   jinxiutong    2020-01-04  
   Dawnworld    2019-12-23  
   yezitoo    2019-12-05  
 