I've recently moved all my route code into separate files, but now my route resolution is spotty. Here's a simple example -
My app.js
const express = require('express');
const app = express();
var dataLoader = require('./routes/dataLoader');
app.all( '/api/load', dataLoader);
My 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 works fine, while /api/load/jim and /api/load/bob both result in:
Cannot GET /api/load/jim (or Cannot GET /api/load/bob, respectively)
I user app.all() instead of app.use() because I was having an issue resolving the main path "/api/load", the use of all seemed to fix that, but now I am not sure.
"engines": { "node": "^8.9.1" }, "dependencies": { "bluebird": "^3.5.1", "body-parser": "^1.15.1", "express": "^4.13.4", "mongoose": "4.9.8" } any suggestions?