节点JS无法获取/

时间:2018-01-19 23:18:38

标签: javascript node.js server

我正在关注this Node JS教程,但我遇到了一个问题,我得到的回复是Cannot GET /,而不是Hello。这是我的代码的结构:

myapp/
├── app
│   └── routes
│       ├── index.js
│       └── note_routes.js
├── conf
│   ├── httpd-app.conf
│   └── httpd-prefix.conf
├── htdocs
├── node_modules
│   ├── ...
├── package.json
├── package-lock.json
└── server.js

server.js看起来像这样:

const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const bodyParser = require('body-parser');

const app = express();

const port = 3000;

require('./app/routes')(app, {});
app.listen(port, () => {
  console.log('We are live on ' + port);
});

index.js就是这样:

const noteRoutes = require('./note_routes');
module.exports = function(app, db) {
  noteRoutes(app, db);
  // Other route groups could go here, in the future
};

note_routes.js看起来像这样:

module.exports = function(app, db) {
  app.post('/notes', (req, res) => {
    // You'll create your note here.
    res.send('Hello')
  });
};

可以看出,这是一个非常简单的设置。根据上面链接的教程,这应该足够了,应该回复Hello。然而,这种情况并非如此。

我几乎100%确定端口是正确的,因为某些 not-503响应。

这里有什么问题,我怎样才能让它按预期工作?

2 个答案:

答案 0 :(得分:0)

您在note_routes中的app.post()应该是app.get(),或者如果您打算发布帖子请求,那么您可以将其链接为

app.post()
   .get();

答案 1 :(得分:0)

这在一个全新的层面上是错误的。

我想你会用node server.js

启动你的服务器

首先,server.js不需要index.js

note_routes应包含.get()NOT .post()

在您的浏览器中,您应该访问http://localhost:3000/notes http://localhost:3000