2014-11-04 85 views
0

我想匹配所有/ admin/*请求期望的.png,.gif,.js文件类型。所以写这条路线:在Express JS路由中排除某些文件类型

app.all('/admin*', requiresLogin); 

但我不能排除该文件类型。我如何排除该路由中的.png,.gif,.js请求?

回答

1

如何在正则表达式

\/admin[^.]*\.(?!(?:png|gif|js))

将exculde巴纽,.gif或.js文件

见正则表达式在http://regex101.com/r/mW5qZ9/1

  • \/admin比赛/admin

  • 如何匹配
  • [^.]*\.匹配比.其他任何其次.

  • (?!(?:png|gif|js))断言,正则表达式后面没有png|gif|js

0

你也可以只设立了快递服务的静态文件,以便请求。 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);