express基础

  • 安装 (使用脚手架 express-generator)
1. npm install express-generator -g --registry=https://registry.npm.taobao.org
2. express // 初始化
3. npm install
4. npm start

1. npm i nodemon cross-env -S --registry=https://registry.npm.taobao.com
2. "script": {
        "start": "node ./bin/www",
        "dev": "cross-env NODE_EVN=dev nodemon ./bin/www"
    }
3. npm run dev
APP.JS 分析
1. createError = require('http-errors'); // 插件,当404时,给一个友好一点的提示
app.use(function(req, res, next) {
    next(createError(404));
})

2. cookieParser // 解析 cookie,将cookie从req.headers.cookie取出来,处理后存入一个对象
cookieParser = require('cookie-parse');
app.use(cookieParser());
经过插件的处理,就可以通过 req.cookies 来访问 cookie 了。

3. logger = require('morgan');
app.use(logger('dev'))
然后就可以很轻松的写日志了。

4. express.json() // 类似于getPostData();
app.use(express.json()) // 然后就可以通过 req.body 来获取数据
app.use(express.urlencoded({ extended: false )) // 兼容不同的提交方式 

5. router  
app.use('/', indexRouter);  // app.js  父路径 
app.use('/users', usersRouter);
router = express.Router();  // user.js  子路径 

前:if (method == 'GET' && req.path == '/api/blog/list') {} 
后:router.get('/', function(req,res,next){})
---
Router
1.blog.js
var express = require('express');
var router = express.Router();

router.get('/list', function(req, res, next){ // /list 为子路由
    res.json({  // 返回json格式数据给前端
        error: 0,
        data:[1,2,3]
    })
})
module.exports = router;

blog.js 在 app.js 中引用,然后 app.use('/api/blog', blogRouter) // api/blog 为父路由

中间件

中间件是一个函数,在请求和相应周期中被顺序调用

app.get('/', function (req, res) {
    throw new Error('error...')
    res.send('hello node')
})

// 异常处理中间件,参数一个不能少,必须在路由后边
const errorHandler = funtion (err, req, res,next){
    res.status(500)
    res.send('down...')
}
app.use(errorHandler)

你可能感兴趣的:(express基础)