如何指定除我的主页以外的快递网址?

时间:2015-10-29 12:40:48

标签: node.js express

我希望能够访问我的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做出反应。 谁能告诉我这里做错了什么?感谢您阅读:)

1 个答案:

答案 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);