我的静态文件中间件的电话是由我的路线覆盖,即使我在正确的顺序运行它:路由被覆盖中间件
首先,我把我的静态文件,如:
app.use('/public/', express.static('/home/skerit/temp'));
app.use('/public/', express.static('/home/skerit/app/public'));
然后添加我的路线:
app.get('/:controller/:action', callback);
而现在,当我试图让/public/empty.txt执行路线。 当我删除路线时,它工作得很好。
而且我确定它们按正确的顺序发生。 (第一个app.use,然后app.get)
那么这里可能会出现什么问题?
编辑:由于我说我正在执行他们在正确的顺序,这里有一些证据。 我添加简单的日志语句代码的执行:
[debug] - [stages.js:186] Static middleware has been set! [debug] - [stages.js:191] Startin routes! [debug] - [routes.js:7] Setting controller routes [info] - [database.js:79] Database connection to default has been made [info] - [database.js:93] Stored procedures on MongoDB server default [info] - [database.js:120] Created connection to all datasources [debug] - [stages.js:202] Setting /:controller/:action
正如你可以看到:“静态中间件已设置的第一次出现。只有这样它才开始设置其他路线。
[node.js/express.js可能的重复 - 如何app.router工作?](http://stackoverflow.com/questions/12695591/node-js-express-js-how-does-app-路由器工作) – josh3736 2013-04-22 21:15:01
...你可能在你的'app.use(... static)'之前定义了其他路由'我很确定我不是' – josh3736 2013-04-22 21:17:36
'。 – skerit 2013-04-22 21:28:09