无法在nodejs中使用express static接收空get请求

时间:2015-12-18 11:56:33

标签: node.js express get

我正在尝试使用express static获取网页,而下面是服务器代码。

app.use(express.static('DIR/webfiles'));
app.get('/test', function(req, res) {
    console.log("got req");
    res.sendfile("login.html");
});

app.get('/', function(req, res) {
    console.log("got req");
    res.sendfile("login.html");
});

当我请求localhost:port / test(来自浏览器)时,我能够看到login.html页面并在服务器端打印“got req”但是当我请求localhost:port或localhost:port /时,我在webfiles文件夹中获取了一些其他文件。它不打印“got req”。空的GET处理程序是否被express static覆盖?

当我删除“app.use(express.static('DIR / webfiles'));”行,它能够获得空的GET请求,但不能按照我想要的方式工作。为什么它没有得到空请求以及如何处理空请求。

1 个答案:

答案 0 :(得分:1)

Express将按声明的顺序处理各种路由处理程序(包括静态中间件)。

如果您请求$query = "DELETE FROM taxaapp_users WHERE id = '$clientId' AND grp = '$grp'"; $response['errorMsg1'] = $query; if (sqlQuery($query)){ $response['success'] = "testing " . mysqli_affected_rows($con); } else { $result = sqlQuery("SELECT id FROM "); $response['errorMsg'] = "Der er sket en fejl"; } function sqlQuery($query) { global $con; return mysqli_query($con, $query); } ,静态中间件将检查名为/的文件,如果存在,则会返回该文件。

要覆盖此行为,请确保在静态中间件声明之前声明自己的路由处理程序

webfiles/index.html