【问题标题】:cannot get / in a simple node file无法在简单的节点文件中获取 /
【发布时间】:2016-05-19 15:50:08
【问题描述】:

我正在尝试做一本书的简单节点/角度示例。但是加载页面时出现错误:cannot GET /

谁知道我做错了什么?谢谢

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use('/', express.static('./static')).
    use('/images', express.static( '../images')).
    use('/lib', express.static( '../lib'));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var days=['Monday', 'Tuesday', 'Wednesday',
          'Thursday', 'Friday'];
var serviceDays = days.slice(0);
app.get('/reset/days', function(req, res){
  serviceDays = days.slice(0);
  res.json(serviceDays);
});
app.post('/remove/day', function(req, res){
  if (serviceDays.length > 2){
    serviceDays.splice(serviceDays.indexOf(req.body.day), 1);
    console.log(days);
    res.json(serviceDays);
  }else {
    res.json(400, {msg:'You must leave 2 days'});
  }
});
app.listen(8081);

【问题讨论】:

  • 您遇到了哪个错误?这是了解您做错了什么的关键信息...
  • 可能想看看这个。 expressjs.com/en/guide/routing.html 通常你会因为路线不正确而收到错误。
  • 也只是为了确定.. 你能发布你想去的 URL 吗?
  • 我去 localhost:8081

标签: javascript angularjs express


【解决方案1】:

我没有看到你为这条路径/ 执行.get(),这与localhost:8081 相同。尝试在您的代码中执行类似的操作。

app.get('/', function(req, res){
  serviceDays = days.slice(0);
  res.json(serviceDays);
});

这和你这里的一样

app.get('/reset/days', function(req, res){
  serviceDays = days.slice(0);
  res.json(serviceDays);
});

所以如果你去localhost:8081localhost:8081/reset/days,你应该得到相同的结果。 cannot GET / 的消息是说没有为请求的 url 设置路由。

另请注意:您的代码中似乎使用了app.use('/', express.static('./static'))。但看起来这只是为“static”、“images”和“lib”定义所有静态路由。

这里有更多关于.use.get 的信息

  1. Difference between app.use and app.get in express.js
  2. http://expressjs.com/en/4x/api.html#app.use
  3. http://expressjs.com/en/4x/api.html#app.get

【讨论】:

    猜你喜欢
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 2020-11-25
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    相关资源
    最近更新 更多