博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js学习之路27——Express的router对象
阅读量:5929 次
发布时间:2019-06-19

本文共 2039 字,大约阅读时间需要 6 分钟。

Router([options])

let router = express.Router([options]);
  • options对象
  • caseSensitive,大小写敏感,默认不敏感
  • mergeParams,保留父路由器的必需参数值,如果父项和子项具有冲突的参数名称,则该子项的值将优先
  • strict,激活严格路由,默认禁用,禁用之后/uu正常访问,但是/uu/不可以访问

1. router.all

  • 全部调用
  • router.all(path, [callback, ...] callback)
router.all('*', fn1, fn2...);// 或者router.all('*', fn1);router.all('*', fn2);// 或者router.all('/user', fn3);

2. router.METHOD

  • router.METHOD(path, [callback, ...] callback)
  • 实际上就是ajax的各种请求方法
router.get('/', (req, res, next) => {    })router.post('/', (req, res, next) => {    })

3. router.route(path)

var router = express.Router();router.param('user_id', function(req, res, next, id) {  // sample user, would actually fetch from DB, etc...  req.user = {    id: id,    name: 'TJ'  };  next();});router.route('/users/:user_id').all(function(req, res, next) {  // runs for all HTTP verbs first  // think of it as route specific middleware!  next();}).get(function(req, res, next) {  res.json(req.user);}).put(function(req, res, next) {  // just an example of maybe updating the user  req.user.name = req.params.name;  // save user ... etc  res.json(req.user);}).post(function(req, res, next) {  next(new Error('not implemented'));}).delete(function(req, res, next) {  next(new Error('not implemented'));})

4. router.use

4.1 使用路由

var express = require('express');var app = express();var router = express.Router();// simple logger for this router's requests// all requests to this router will first hit this middlewarerouter.use(function(req, res, next) {  console.log('%s %s %s', req.method, req.url, req.path);  next();});// this will only be invoked if the path starts with /bar from the mount pointrouter.use('/bar', function(req, res, next) {  // ... maybe some additional /bar logging ...  next();});// always invokedrouter.use(function(req, res, next) {  res.send('Hello World');});app.use('/foo', router);app.listen(3000);

4.2 使用模块方法

var logger = require('morgan');router.use(logger());router.use(express.static(__dirname + '/public'));router.use(function(req, res){  res.send('Hello');});

转载地址:http://uoevx.baihongyu.com/

你可能感兴趣的文章
Tomcat详解
查看>>
LVS DR 下 tomcat 扩容问题
查看>>
linux内核优化
查看>>
hadoop伪分布式环境搭建
查看>>
初探hibernate
查看>>
Locking
查看>>
关于散列那些事
查看>>
七天LLVM零基础入门(Linux版本)------第七天
查看>>
微搜索时代 谁会是下一个霸主?
查看>>
perl 压力测试脚本
查看>>
Simware 使用指南
查看>>
自动加入域
查看>>
JavaScript中有两种常用的修改HTML节点文本的方法
查看>>
ubuntu9.04 3D桌面开启,特效设置和详解
查看>>
针对Oracle数据库版本12.1.0.1,11.2.0.3及更早版本的推荐修补程序和操作
查看>>
中国五大顶级域名11月第三周增5万 美国减5.6万
查看>>
4月第3周中国.COM域名总量已达687万 净增5.6万
查看>>
9月第2周网络安全报告:境内感染病毒主机68万个
查看>>
12月初全球六大国际域名解析量:.COM获双料冠军
查看>>
aotutrace 设置
查看>>