如何设置express.static的路由是否区分大小写?例如Express是否应该通过提供名为
Image.jpeg的本地文件来处理对image.jpeg的请求.
调用express.Router([options])时有一个caseSensitive选项(如http://expressjs.com/en/4x/api.html所定义)但是当调用express.static(root,[options])时,这不是一个选项(同一链接上的文档).
默认情况下,我得到的不同行为是将不区分大小写的卷(/ Mac OS X)的静态文件提供给区分大小写的卷(/ Linux).这导致我们的应用程序中出现不一致的错误 – 在Mac OS X下本地不匹配的情况会在本地运行但在部署到Linux服务器时会失败.
最佳答案 我还获得了一些简单替代解决方案的建议:
Set a policy that all your static files and paths should be in lowercase.
Enforce the policy on the files by adding a build step that checks them.
Enforce the policy on requests by adding some middleware that rejects requests to the static folder if any uppercase characters are found in the path.