我正在关注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响应。
这里有什么问题,我怎样才能让它按预期工作?
答案 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