Общее `NodeJs / express` Ошибка при объявлении маршрутов (TypeError: Невозможно прочитать свойство 'length' из неопределенного в pathtoRegexp) - PullRequest
0 голосов
/ 02 сентября 2018

Я новичок в node.js, и эта ошибка стоила мне много усилий по расследованию, поэтому я делюсь этим.

Я только попытался объявить express и некоторые основные маршрутизаторы в моем index.js:

const express = require('express');
const app = express();

app.get('/api/courses', (req, res)=>{
    res.send(courses);
});

app.get('/api/courses:id', (req, res)=>{
    const course = courses.find(c => c.id === parseInt(req.params.id));
    if (!course) res.send('The given id was not found...');
    res.send(course);   
});

app.get();

Сведения об ошибке:

\ node_modules \ path-to-regexp \ index.js: 63 path = ('^' + path + (строго? '': path [path.length - 1] === '/'? '?': '/?')) ^

TypeError: Невозможно прочитать свойство 'length' из неопределенного в pathtoRegexp (C: \ Users ... \ node_modules \ path-to-regexp \ index.js: 63: 49) на новом уровне (C: \ Users ... \ node_modules \ express \ lib \ router \ layer.js: 45: 17) в Function.route (C: \ Users ... \ node_modules \ express \ lib \ router \ index.js: 494: 15) в Function.app. (анонимная функция) [как получить] (C: \ Users ... \ node_modules \ express \ lib \ application.js: 481: 30) на объекте. (C: ... \ index.js: 24: 5) в Module._compile (module.js: 652: 30) в Object.Module._extensions..js (module.js: 663: 10) в Module.load (module.js: 565: 32) в tryModuleLoad (module.js: 505: 12) в Function.Module._load (module.js: 497: 3)

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Я также недавно столкнулся с этой проблемой, потому что моему проекту требуется файл .env, в котором определены все базовые маршруты и каким-то образом он был удален из проекта. Поэтому я обнаружил, что для этой проблемы нужно проверить все файлы config / .env, которые требуются вашему node.js.

0 голосов
/ 02 сентября 2018

app.get(); вызывает ошибку.

Как сказано в документации , app.get(path, callback [, callback ...]) должен иметь аргумент пути (также app.get(name) должен иметь аргумент имени).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...