最近、すべてのルート コードを別のファイルに移動しましたが、ルートの解決にむらがあります。ここに簡単な例があります -
私のapp.js
const express = require('express');
const app = express();
var dataLoader = require('./routes/dataLoader');
app.all( '/api/load', dataLoader);
私のdataLoader.js
const express = require('express');
const router = express.Router();
router.get('/api/load', (req, res) => {
res.send('Hello Loader...');
});
router.get('/api/load/bob', (req, res) => {
res.send('Hello Loader - Bob...');
});
router.get('/api/load/jim', (req, res) => {
res.send('Hello Loader - Jim...');
});
module.exports = router;
/api/load は正常に動作しますが、/api/load/jim と /api/load/bob は両方とも次のようになります。
Cannot GET /api/load/jim (or Cannot GET /api/load/bob, respectively)
メイン パス「/api/load」の解決に問題があったため、app.use() の代わりに app.all() を使用しています。
"engines": { "node": "^8.9.1" }, "dependencies": { "bluebird": "^3.5.1", "body-parser": "^1.15.1", "express": "^4.13.4", "mongoose": "4.9.8" } 何か提案はありますか?