zoukankan      html  css  js  c++  java
  • Express框架 --router/app.use

    翻看去年自己记录的印象笔记,准备把笔记上的一些内容也同时更新到博客上,方便自己查看。


    app.use(path,callback)中的callback既可以是router对象又可以是函数
    app.get(path,callback)中的callback只能是函数
    这说明,给app.get(app.post、app.put同理)赋个路由对象是不行的,其实,可以将app.get()看作app.use的特定请求(get)的简要写法。即
     
    var express = require('express');
    var app = express();
    app.get('/hello',function(req,res,next){
        res.send('hello test2');
     
    });
    等同于:
    var express = require('express');
    var app = express();
    var router = express.Router();
     
    router.get('/', function(req, res, next) {
      res.send('hello world!');
    });
    app.use('/hello',router);
     

    什么时用

    那么,什么时用app.use,什么时用app.get呢?
    路由规则是app.use(path,router)定义的,router代表一个由express.Router()创建的对象,在路由对象中可定义多个路由规则。可是如果我们的路由只有一条规则时,可直接接一个回调作为简写,也可直接使用app.getapp.post方法。即
    当一个路径有多个匹配规则时,使用app.use,否则使用相应的app.method(get、post)
     
    总结:
    app.use用来使用中间件( middleware)
     
    2.Router

    A router object is an isolated instance of middleware and routes. You can think of it as a “mini-application,” capable only of performing middleware and routing functions. Every Express application has a built-in app router.路由器对象是中间件和路由的孤立实例。 您可以将其视为“微型应用程序”,只能执行中间件和路由功能。 每个Express应用程序都有一个内置的应用程序路由器
    A router behaves like middleware itself, so you can use it as an argument to app.use() or as the argument to another router’s use() method.路由器的行为就像中间件本身,因此您可以将其用作app.use()的参数或作为另一路由器的use()方法的参数。
     
    The top-level express object has a Router() function that creates a new router object.
    Create a new router as follows:
    var router = express.Router([options]);
  • 相关阅读:
    博客园界面部分优化
    jQuery获取Select选择的Text和 Value
    java开发各层对象含义
    接口与抽象类的区别(完整描述)
    Map相关知识总结
    html引用外部js和css
    RDD内存迭代原理(Resilient Distributed Datasets)---弹性分布式数据集
    spark高可用集群搭建及运行测试
    spark集群的简单测试和基础命令的使用
    spark集群搭建
  • 原文地址:https://www.cnblogs.com/jingmi-coding/p/9407938.html
Copyright © 2011-2022 走看看