我希望匹配所有/ admin / *请求.png,.gif,.js文件类型。所以写下这条路线:
app.all('/admin*', requiresLogin);
但我不能排除那些文件类型。如何从该路由中排除.png,.gif,.js请求?
答案 0 :(得分:1)
正则表达式怎么样
\/admin[^.]*\.(?!(?:png|gif|js))
将取消.png,.gif,.js
了解正则表达式在http://regex101.com/r/mW5qZ9/1
的匹配情况 \/admin
匹配/admin
[^.]*\.
匹配.
后跟.
(?!(?:png|gif|js))
断言正则表达式后面没有png|gif|js
答案 1 :(得分:0)
您也可以设置express来提供静态文件,以便在此路由之前已完成对.png,.gif,.js等的请求
// will serve pictures and scripts
app.use(express.static('path/to/png/gif/and/js/files'));
// will not see requests like '/admin/happy.gif'
app.all('/admin', requireLogin);