Express知识点摘抄
Express Router 对象
let router = express.Router({
mergeParams: true, //导入父级参数到子级配置
caseSensitive: true, //区分大小写配置
strict: true, //路径严格模式配置 启动严格模式后 /test 和 /test/ 是不同路径
})
基本用法
index.js
app.user('/admin', require('./routers/admin')) // 引入路由文件
admin.js
const express = reqire('express');
const router = express.Router(); // 引入router
router.get('/user', function(req, res, next) {
//...
})
module.exports = router // 导出路由
router.param
单独监听参数,然后处理
router.param('id', function(req, res, next, value){
//... // id就是value
})
等同于下面的param的id
router.get('.user/:id', function(req, res){
//...
})
router连用
const express = reqire('express');
const router = express.Router(); // 引入router
router.router('/test')
.get(function(req, res, next) {
//...
})
.get(function(req, res, next) {
//...
})
.post(function(req, res, next) {
//...
})
路由的正则匹配
// ? 有或没有
router.get('.user/abc?d', function(req, res){
//...
})
// + 一或多次
router.get('.user/abc+d', function(req, res){
//...
})
// * 无或任意字符
router.get('.user/ab\*d', function(req, res){
//...
})
// (bc) 优先级运算符
router.get('.user/a(bc)?d', function(req, res){
//...
})
// 完全用正则
router.get(/\/user[1,2]\/abcd/, function(req, res){
//...
})