express路由正则匹配

发布于 2022-09-06 08:38:57 字数 730 浏览 14 评论 0

我写的路由如下:
目的是拦截/commodity/1001这样的请求进行处理
而放过/static/xxxx.png这样的静态资源访问的

app.use([
  /\/.*[^(\.css)]$/,
  /\/.*[^(\.js)]$/,
  /\/.*[^(\.jsx)]$/,
  /\/.*[^(\.html)]$/,
  /\/.*[^(\.htm)]$/,
  /\/.*[^(\.ico)]$/,
  /\/.*[^(\.jpg)]$/,
  /\/.*[^(\.jpeg)]$/,
  /\/.*[^(\.png)]$/,
  /\/.*[^(\.gif)]$/,
], (req, res, next) => {
 
  const fullURL = `${req.protocol}://${req.headers.host}${req.originalUrl}`
  console.log("fullURL", fullURL)
})

app.use("/static", express.static("public"))

预期是下面?这样的请求就都不会被截获

/static/xxxx.png
/static/xxxx.css
/static/xxxx.js

但是事实上这些请求还是会进入?

请问这个正则写的有问题吗?
正确的屏蔽.png .css 这类的正则应该是怎么样的?
谢谢!!!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾城月光淡如水﹏ 2022-09-13 08:38:57

express static
通过 Express 内置的 express.static 可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。
http://www.expressjs.com.cn/s...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文