路线未被输入/命中

时间:2014-07-14 13:59:24

标签: node.js express

我有以下server.js

var express = require('express');
var app = express();
var port = 8080;

app.get('js/', function (req, res) {
    var uid = req.params.uid,
        file = req.originalUrl.substring(1) ? req.originalUrl.substring(1) : 'index.html';

    console.log("RULE: 'js/'");

    //res.setHeader("Content-Type", "text/js");
    res.sendfile(file, {
        //root: './bower_components/common-static-content/src/main/webapp/js/theaa/components/'
        root: './src/main/webapp/'
    });
});

app.get('', function (req, res) {
    var uid = req.params.uid,
        file = req.originalUrl.substring(1) ? req.originalUrl.substring(1) : 'index.html';

    console.log("RULE: ''");

    res.setHeader("Content-Type", "text/html");
    res.sendfile(file, {
        root: './src/main/webapp/'
    });
});

var server = app.listen(port, function () {
    console.log('Listening on port %d', server.address().port);
});

但是,第二个规则似乎正在被正确命中(即,当URL不以localhost:8080/js/开头时)但同时,当我到达{时,我没有获得任何控制台输出{1}}

这是我第一次使用Node / Express,所以我是一个n00b,有人可以指出,这是我做错了吗?

干杯!

1 个答案:

答案 0 :(得分:0)

是的,当然,因为js/ 匹配js/ - 不多也不少。

也许你想看一下express.static()来提供像Javascript和CSS这样的静态文件。