美文网首页
express(路由)

express(路由)

作者: 悟空你又瘦了 | 来源:发表于2017-07-27 10:00 被阅读0次

    配置express
    路由基本方法

    /**
     * 路由处理
     * http 提交方式:
     * get -- 查询
     * post -- 添加
     * put -- 修改
     * delete -- 删除
     */
     const express = require('express');
     const app = express();
     app.use('/public',express.static('public'));
    
    app.get('/login',(req, res) => {
         res.end('get data');
     });
    app.post('/login',(req, res) => {
         res.end('post data');
     });
     app.put('/login', (req, res) => {
         res.end('put data');
     });
     app.delete('/login', (req, res) => {
         res.end('delete data');
     })
     app.listen(3000, () => {
         console.log("running……");
     })
    

    将路由合并

    const express = require('express');
    const app = express();
    
    app.use(express.static('public'));
    
    // app.all('/ab*cd',(req, res) => {
    //     res.send(req.method);
    // });
    
    app.route('/login')
      .get(function(req, res) {
        res.send('Get a random book');
      })
      .post(function(req, res) {
        res.send('Add a book');
      })
      .put(function(req, res) {
        res.send('Update the book');
      });
    
    app.listen(3000, () => {
        console.log("running……");
    })
    
    

    将路由版块独立出来

    const express = require('express');
    const app = express();
    const router = require('./router.js')  -------将路由规则全部写在router.js里面
    
    app.use(express.static('public'));
    app.use(router);
    
    app.listen(3000, () => {
        console.log("running……");
    })
    
    
    const express = require('express');
    const router = express.Router();
    
    router.get('/login',(req, res) => {
        res.end("req");
    });
    router.post('/login',(req, res) => {
        res.end("req");
    });
    router.put('/login', (req, res) => {
        res.end('put data');
    });
    router.delete('/login', (req, res) => {
        res.end('delete data');
    });
    module.exports = router;
    

    all和用正则来匹配路由(app.all是4种方式都可以)

    const express = require('express');
    const app = express();
    
    app.use(express.static('public'));
    
    app.all('/ab*cd',(req, res) => {
        res.send(req.method);
    });
    
    // 匹配 acd 和 abcd
    app.get('/ab?cd', function(req, res) {
      res.send('ab?cd');
    });
    
    // 匹配 abcd、abbcd、abbbcd等
    app.get('/ab+cd', function(req, res) {
      res.send('ab+cd');
    });
    
    // 匹配 abcd、abxcd、abRABDOMcd、ab123cd等
    app.get('/ab*cd', function(req, res) {
      res.send('ab*cd');
    });
    
    // 匹配 /abe 和 /abcde
    app.get('/ab(cd)?e', function(req, res) {
     res.send('ab(cd)?e');
    });
    

    相关文章

      网友评论

          本文标题:express(路由)

          本文链接:https://www.haomeiwen.com/subject/ojqwkxtx.html