我希望能够访问我的http://localhost:3000/并回到hello世界,但当我转到http://localhost:3000/public时,我想提供不同的内容。
var express = require('express'),
app = express(),
port = process.env.PORT || 3000;
app.use('/', function (req, res) {
var data = '<h1>hello world</h1>';
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data)
});
app.get('/public', function (req, res) {
var data = '<h1>welcome to public</h1>';
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data)
});
app.listen(port);
console.log('server started at port %s ', port);
这是我的代码,但是当我运行它时它不会对/ public做出反应。 谁能告诉我这里做错了什么?感谢您阅读:)
答案 0 :(得分:2)
因为Express与路线混淆(单/考虑两者作为相同的路线)。
尝试这个:
var express = require('express'),
app = express(),
port = process.env.PORT || 3010;
app.get('/public', function (req, res) {
console.log("Inside public");
var data = '<h1>welcome to public</h1>';
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data)
});
app.use('/', function (req, res) {
var data = '<h1>hello world</h1>';
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data)
});
app.listen(port);