zoukankan      html  css  js  c++  java
  • 1.Express初识

    本来一直想学习express框架的,但是却一直没有行动起来。这两天趁着清明节的小长假刚好可以学习一下。资料的话推荐MDN中的文档,写的很浅显易懂。

    这个框架的基本使用基本上只要理解了app.js文件的话就差不多了。所以我现在把文件就贴在下面,方便以后进行查看。

    /*
     * @Author: ChunHai.Hu 
     * @Date: 2018-04-05 22:55:30 
     * @Last Modified by: ChunHai.Hu
     * @Last Modified time: 2018-04-07 02:01:25
     * @worth of app.js:sets up the application with various settings and middleware.
     * @app.js文件的作用:使用变量的方式设置这个程序所使用的设置项和中间件.
     */
    "use strict"
    /* 引入模块 */
    var express = require('express')/* express框架模块 */
    var path = require('path');/* 路径读取 */
    var favicon = require('serve-favicon');/* 收藏图标模块 */
    var logger = require('morgan');/* 日志模块 */
    var cookieParser = require('cookie-parser');/* cookie模块 */
    var bodyParser = require('body-parser');/* 请求体解析 */
    var createError = require('http-errors');/* 请求错误处理 */
    var util = require('./public/js/util');/* 引入工具模块 */
    var filter = require('./public/js/filter');
    /* var mysql = require('mysql');此处为数据库配置
    var config = require('./public/js/config').db.c1;
    var connection = mysql.createConnection(config);
    console.log(connection); */
    
    /* 设置路由(URL paths),不一定得用默认的,自定义也可 */
    var indexRouter = require('./routes/index');
    var usersRouter = require('./routes/users');
    
    /* 创建express服务实例 */
    var app = express();
    
    /* view engine setup:视图引擎设置 */
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'hbs');
    
    /* 使用app.use()方法,将中间件库添加到请求处理链中 */
    app.use(logger('dev'));
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(filter.filter);
    //设置静态资源的存放位置
    app.use(express.static(path.join(__dirname, 'public')));
    // app.use(connection());
    
    /* 设置之前引入的路由转发的文件路径,“/users”是前缀,访问该相关接口时候需加上 */
    app.use('/', indexRouter);
    app.use('/users', usersRouter);
    
    /* catch 404 and forward to error handler:配置404状态时的处理函数 */
    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');
    });
    
    /* 设置www.js文件所能访问模块 */
    module.exports = app;
  • 相关阅读:
    无缘无故出现IDEA无法引入包和类的问题?
    JDK8新特性——Optional
    【工具类】ExcelUtils
    【Mybatis-Plus学习笔记(二)】查询
    【Mybatis-Plus学习笔记(一)】入门
    【Mybatis学习笔记】目录
    【超详细全过程】DataGrip的安装与使用
    【超详细全过程】python环境配置+编辑器安装(python+pycharm)
    【Mybatis工具(五)】雪花算法
    【Mybatis工具(四)】UUID实现原理及其Java实现
  • 原文地址:https://www.cnblogs.com/Nick-Hu/p/8735652.html
Copyright © 2011-2022 走看看