美文网首页
Express路由路径匹配规则以及第三方包模块cors

Express路由路径匹配规则以及第三方包模块cors

作者: 听书先生 | 来源:发表于2022-03-28 23:06 被阅读0次
  • 路由匹配规则
    1. 路径规则(中间件路径也适用)
      1.1. 字符串的规则
      固定路径(常规的用法)
      /index和/index/都可以访问到,其他的/index/aa就不会访问到该路由
app.get('/index', (req, res) => {
   res.send('/index')
})

1.2. 通配符匹配
通配符匹配其实跟中间件不加路径使用效果是一样的,表示所有路由都可以匹配成功。

app.get('*', (req, res) => {
  res.send('*')
})

1.3. 固定路径与通配符组合使用
固定路径与通配符组合使用的话表示固定路径之后的任意路由都可以匹配成功。
/index/以及/index/1等路由均可以匹配得到

app.get('/index/*', (req, res) => {
  res.send('/index/*')
})
  • 第三方包模块cors

安装

$ npm install cors

当使用中间件app.use(cors())全局挂载的时候,那么所有的接口均解决了跨域。因为每次进入一次路由,就会从上面走一遍,因而就会执行到app.use(cors()),所以并不是理论上的app.use(cors())让所有的接口解决跨域,只是产生的效果是等价的

var express = require('express')
var cors = require('cors')
var app = express()
 
app.use(cors())
 
app.get('/products/:id', function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for all origins!'})
})
 
app.listen(80, function () {
  console.log('CORS-enabled web server listening on port 80')
})

如果只希望某一个接口处理跨域,那么需要单独的加在接口请求中

app.get('/products/:id', cors(), function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for a Single Route'})
})

相关文章

网友评论

      本文标题:Express路由路径匹配规则以及第三方包模块cors

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