我有以下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,有人可以指出,这是我做错了吗?
干杯!
答案 0 :(得分:0)
是的,当然,因为js/
仅匹配js/
- 不多也不少。
也许你想看一下express.static()
来提供像Javascript和CSS这样的静态文件。