web-dev-qa-db-ja.com

ノード、エクスプレス-ルートを取得できません

Expressアプリを作成していますが、ルーティングに問題があります。 「/」ルートは完全に機能していますが、他のルートは機能していません。私は他の人々が投稿した他の質問を調べましたが、これらは私の問題を解決していません。

私はroutes/index.jsファイルを持っています:

module.exports = function(app){
  app.use('/', require('./routes/home'));
  app.use('/about', require('./routes/about'));
}

私のroutes/home.js:-動作しています!

const express = require('express');
const router = express.Router();

router.get('/', function(req, res) {
   res.render('app/home');
});

module.exports = router;

私のroutes/about.js:-機能しません!

const express = require('express');
const router = express.Router();

router.get('/about', function(req, res) {
   res.render('app/about');
});

module.exports = router;

「/ about」に移動すると、ブラウザに次のエラーが表示されます-「/ aboutを取得できません」

Home.htmlファイルとabout.htmlファイルはどちらも同じビューディレクトリにあります。

ここで何か助けていただければ幸いです!

8
Jared

エクスプレスドキュメントから引用させてください:

ルートは、パスの直後に「/」が付いているパスと一致します。例:app.use( '/ Apple'、...)は、「/ Apple」、「/ Apple/images」、「/ Apple/images/news」などと一致します。 エクスプレスドキュメントを参照

/aboutapp.userouter.getを設定したため、これは「機能していません」。 /about/aboutをリクエストしようとすると、これが機能していることがわかります(望んだとおりではありません)。

/aboutroutes/about.jsを変更してから、再実行して/aboutをリクエストしてみてください。

17