Node.js Express.js:如何使Express.static具有比应用程序其他部分更高的优先级?

Node.js Express.js:如何使Express.static具有比应用程序其他部分更高的优先级?,node.js,express,Node.js,Express,我有一个express.js应用程序设置如下: app.use(express.static(__dirname + '/public')); ... app.all('*', require('./routes/all')); 因此,当我尝试加载/stylesheets/style.css时,请求被发送到路由。如何使应用程序首先尝试使用“静态”,然后使用“全面覆盖”路径?中间件按顺序执行。只需将静态中间件放在路由中间件之前 app.configure(function() { app.u

我有一个express.js应用程序设置如下:

app.use(express.static(__dirname + '/public'));
...
app.all('*', require('./routes/all'));

因此,当我尝试加载
/stylesheets/style.css
时,请求被发送到
路由
。如何使应用程序首先尝试使用“静态”,然后使用“全面覆盖”路径?

中间件按顺序执行。只需将静态中间件放在路由中间件之前

app.configure(function() {
  app.use(express.static(__dirname + '/public'));
  app.use(app.router);
});

这整天都在烦我。谢谢大家!@死区在中间件堆栈中,您将
express.static()
推到多高?之前:session()、cookieParser()、methodOverride()、bodyParser()、logger()、errorHandler()等?请考虑哪些中间件是必需的
express.static()
不需要其中任何一个。如果要将请求记录到静态文件,请仅将
logger()
放在它前面。我不知道为什么在运行express(1)生成应用程序时,这不是默认设置。请注意,app.configure已从版本4.0中完全删除!github.com/visionmedia/express/issues/936(cit)