zoukankan      html  css  js  c++  java
  • Express4--说明

    express4.*;
    (1)

     var app = express();
    

      生成一个express实例 app。

    (2)

    app.set('views', path.join(__dirname, 'views’)):
    

      设置 views 文件夹为存放视图文件的目录, 即存放模板文件的地方,__dirname 为全局变量,存储当前正在执行的脚本所在的目录。

    (3)

    app.set('view engine', 'ejs’):
    

      设置视图模板引擎为 ejs。

    (4)

    app.use(favicon(__dirname + '/public/favicon.ico’)):
    

      设置/public/favicon.ico为favicon图标。

    (5)

    app.use(logger('dev’)):
    

      加载日志中间件。

    (6)

    app.use(bodyParser.json()):
    

      加载解析json的中间件。

    (7)

    app.use(bodyParser.urlencoded({ extended: false })):
    

      加载解析urlencoded请求体的中间件。

    (8)

    app.use(cookieParser()):
    

      加载解析cookie的中间件。

    (9)

    app.use(express.static(path.join(__dirname, 'public'))):
    

      设置public文件夹为存放静态文件的目录。

    (10)

    app.use('/', routes);
    app.use('/users', users):
    

      路由控制器。

    (11)

    app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
    });
    

      捕获404错误,并转发到错误处理器。

    (12)

    if (app.get('env') === 'development') {
    app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
    message: err.message,
    error: err
    });
    });
    }
    

     开发环境下的错误处理器,将错误信息渲染error模版并显示到浏览器中。

    (13)

    app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
    message: err.message,
    error: {}
    });
    });
    

     生产环境下的错误处理器,将错误信息渲染error模版并显示到浏览器中。

    (14)

    module.exports = app :
    

      导出app实例供其他模块调用。

    我们再看 bin/www 文件:

    #!/usr/bin/env node
    var debug = require('debug')('blog'); var app = require('../app'); app.set('port', process.env.PORT || 3000); var server = app.listen(app.get('port'), function() { debug('Express server listening on port ' + server.address().port); }); 

    (1)

    #!/usr/bin/env node:
    

      表明是 node 可执行文件。

    (2)

    var debug = require('debug')('blog’):
    

      引入debug模块,打印调试日志。

    (3)

    var app = require('../app’):
    

      引入我们上面导出的app实例。

    (4)

    app.set('port', process.env.PORT || 3000):
    

      设置端口号。

    (5)

    var server = app.listen(app.get('port'), function() {
    debug('Express server listening on port ' + server.address().port);
    });
    

      启动工程并监听3000端口,成功后打印 Express server listening on port 3000。

    我们再看 routes/index.js 文件:

    var express = require('express');
    var router = express.Router();
    
    /* GET home page. */
    router.get('/', function(req, res) {
    res.render('index', { title: 'Express' });
    });
    
    module.exports = router;
    

      生成一个路由实例用来捕获访问主页的GET请求,导出这个路由并在app.js中通过app.use('/', routes); 加载。这样,当访问主页时,就会调用res.render('index', { title: 'Express' });渲染views/index.ejs模版并显示到浏览器中。

  • 相关阅读:
    第一次作业
    第一次作业
    第一次作业
    第一次作业
    随笔初谈
    第一次作业
    第一次作业
    第一次班级作业
    C语言感想---第一次作业
    C语言入门
  • 原文地址:https://www.cnblogs.com/shuiche/p/4620155.html
Copyright © 2011-2022 走看看