Ошибка типа: не удается создать свойство ‘next’ для строки ‘/:id’

#javascript #node.js

#javascript #node.js

Вопрос:

я пытался создать api для туристической компании, но появляется ошибка «TypeError: не удается создать свойство ‘next’ для строки ‘/: id'» . все перечисленные здесь функции созданы

 const express = require('express');
const port = 3000
const app = express();
const tourRouter = express.Router();
tourRouter.route('/').
    get(getAllTours)
    .post(createTour);
tourRouter('/:id').
    get(getTour)
    .patch(updateTour)
    .delete(deleteTour);
app.use('/api/v1/tours', tourRouter)
app.listen(port)
  

и ошибка

  req.next = next;           ^
TypeError: Cannot create property 'next' on string '/:id'
    at Function.handle (C:UsersdellOneDriveDesktopnodestarternode_modulesexpresslibrouterindex.js:160:12)
    at router 
  

Ответ №1:

Кажется, вы забыли .route здесь:

 tourRouter('/:id').
  

Это должно быть

 tourRouter.route('/:id').