Je suis ce tutoriel Node JS, mais j’ai rencontré un problème où j’obtiens la réponse Cannot GET /
au lieu de Hello
. Voici la structure de mon code:
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
ressemble à ceci:
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
est la suivante:
const noteRoutes = require('./note_routes'); module.exports = function(app, db) { noteRoutes(app, db); // Other route groups could go here, in the future };
Et note_routes.js
ressemble à ceci:
module.exports = function(app, db) { app.post('/notes', (req, res) => { // You'll create your note here. res.send('Hello') }); };
Comme on peut le voir, cette configuration est très simple. Selon le tutoriel ci-dessus, cela devrait suffire et devrait répondre avec Hello
. Cependant, ce n’est pas le cas.
Je suis presque sûr à 100% que le port est correct car il y a une réponse non-503.
Qu’est-ce qui ne va pas ici, et comment puis-je que cela fonctionne comme prévu?
Votre app.post () dans note_routes devrait être app.get () ou si vous envisagez de faire des post-demandes, vous pouvez l’enchaîner comme
app.post() .get();
c’est faux sur un tout nouveau genre de niveau.
J’imagine que vous démarrez votre serveur avec node server.js
premièrement, server.js ne nécessite aucun index.js
note_routes devrait contenir .get () NOT .post ()
dans votre navigateur, vous devriez visiter http: // localhost: 3000 / notes pas tout à fait http: // localhost: 3000