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ファイルはどちらも同じビューディレクトリにあります。
ここで何か助けていただければ幸いです!
エクスプレスドキュメントから引用させてください:
ルートは、パスの直後に「/」が付いているパスと一致します。例:app.use( '/ Apple'、...)は、「/ Apple」、「/ Apple/images」、「/ Apple/images/news」などと一致します。 エクスプレスドキュメントを参照
/about
とapp.use
にrouter.get
を設定したため、これは「機能していません」。 /about/about
をリクエストしようとすると、これが機能していることがわかります(望んだとおりではありません)。
/about
のroutes/about.js
を変更してから、再実行して/about
をリクエストしてみてください。