app.use('/static',express.static("./public"))比不加'/'/static'效率更高吗

发布于 2022-09-06 08:54:12 字数 200 浏览 20 评论 0

一个前辈这样说的,
我直接写的app.use(express.static("./public")),然后前辈说
“建议改成app.use('/static',express.static("./public"));或者public,可以减少不必要的查询,提高node效率”

为什么加一个虚拟路径会提高效率呢,减少不必要的查询?希望告知下原理,谢谢。萌新。

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

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

发布评论

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

评论(3

转角预定愛 2022-09-13 08:54:12

咱们来看一下文档!

clipboard.png

从上面两句话可知,app.use就是把指定的中间件加载到指定的请求路径下面。其中如果未指定路径, 则默认为 "/"。
这里面有两个关键点:
中间件:express 中的中间件可以看做是能够处理请求和响应,并控制请求走向的单元,一般都是函数。
请求路径:也就是 URL,官网上请求路径是可选参数,其隐含的意思,如果不指定请求路径,就是表示要处理所有的请求,如果指定了请求路径,匹配当前路径并只处理该请求就好,,这个就是可以优化性能的地方。

苏璃陌 2022-09-13 08:54:12

可能就不用去匹配路由就能知道哪个请求是走静态资源,哪个请求是走路由了。
/static下的请求就直接加载静态资源,否则还要跟router里注册的路由排除一下才知道是静态资源吧!我瞎分析的也不知道对不对。。。

梦醒灬来后我 2022-09-13 08:54:12

不必在意这个东西,只有在开发环境才用得上, 生产环境一般用nginx去处理静态资源。

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