app.use('/static',express.static("./public"))比不加'/'/static'效率更高吗
一个前辈这样说的,
我直接写的app.use(express.static("./public")),然后前辈说
“建议改成app.use('/static',express.static("./public"));或者public,可以减少不必要的查询,提高node效率”
为什么加一个虚拟路径会提高效率呢,减少不必要的查询?希望告知下原理,谢谢。萌新。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
咱们来看一下文档!
从上面两句话可知,app.use就是把指定的
中间件
加载到指定的请求路径
下面。其中如果未指定路径, 则默认为 "/"。这里面有两个关键点:
中间件:express 中的中间件可以看做是能够处理请求和响应,并控制请求走向的单元,一般都是函数。
请求路径:也就是 URL,官网上请求路径是可选参数,其隐含的意思,如果不指定请求路径,就是表示要处理所有的请求,如果指定了请求路径,匹配当前路径并只处理该请求就好,,这个就是可以优化性能的地方。
可能就不用去匹配路由就能知道哪个请求是走静态资源,哪个请求是走路由了。
/static下的请求就直接加载静态资源,否则还要跟router里注册的路由排除一下才知道是静态资源吧!我瞎分析的也不知道对不对。。。
不必在意这个东西,只有在开发环境才用得上, 生产环境一般用nginx去处理静态资源。