2016-03-24 3 views
1

einen seltsamen Fehler aufgetreten, wo, wenn ich eine Strecke wie so in Routen/posts/index.js definiert habe:express/node.js - Wie man Routenparameter an andere Dateien weitergibt?

router.use('/:id/edit', require('./edit')); 

Innen ./edit, habe ich den Endpunkt wie so definiert:

router.post('/', passport.authenticate('jwt', { session: false}), function(req, res){ 

Wenn ich/posts /: id/edit drücke, treffe ich erfolgreich den Endpunkt in ./edit, aber const id = req.params.id; ist nicht definiert. Wenn ich die Route jedoch direkt in routes/posts/index.js definiere, wird req.params.id definiert.

Was ist der richtige Weg, um die Route in ./edit den ID-Parameter 'zu erkennen'?

Antwort

2

Sie können die Parameter des übergeordneten Routers zusammenführen, indem Sie {mergeParams: true} an express.Router() übergeben.

Verwandte Themen