代码顺序导致的错误路由错误?

时间:2015-05-24 00:32:36

标签: javascript node.js express

我遇到了奇怪的错误,我只想了解原因。我得到了一条糟糕的路线'从我的CSS和Javascript文件返回。因为它变成了我所有的路径都是正确的,但问题是由于我的

引起的
var express = require('express');
var app = express();
var routes = require('./routes');
app.set('view engine', 'ejs');

app.use(express.static('public'));

//pages are inside routes folder

app.get('/', routes.index);
app.get('/portfolio', routes.portfolio);

app.get('*', function(req, res){
res.send('Bad Route');
});


var server = app.listen(3000, function(){
console.log('listening on port 3000');
});

当我改变订单时,它解决了问题。为什么这会导致错误的路由错误?是因为运营秩序?我app.js的代码如下。

<Files ~ "\sql.php$">
  Order allow,deny
  Deny from all
</Files>

1 个答案:

答案 0 :(得分:0)

您的中间件路由将按照它们在您的代码中出现的顺序触发。因此,如果您在app.get()之前匹配app.static(),那么app.get()将首先处理请求。 (它可以选择将请求传递给下一个中间件。)