express. js проблема маршрутизации с подстановочными знаками - PullRequest
0 голосов
/ 03 августа 2020

Я поискал в Интернете и нашел решение, но оно не работает. Я не могу понять почему. Вот мой код:

app.get('/', (req, res) => {
    fs.readFile('index.html', function (err, data) {
        res.write(data);
        res.end('');
    })
});

Он работает по назначению. Но если я добавлю маршрут с подстановочными знаками как,

app.get('/:randomEndPoint', (req, res) => {
    console.log(req.params.randomEndPoint);
    fs.readFile('index.html', function (err, data) {
        res.write(data);
        res.end('');
    })
});

, я могу правильно зарегистрировать конечную точку на консоли. Однако команда res.write не работает. Это сообщение об ошибке;

_http_outgoing.js:595 throw new ERR_INVALID_ARG_TYPE('first argument', ^

TypeError [ERR_INVALID_ARG_TYPE]: The first argument must 
be one of type string or Buffer. Received type undefined 
at write_ (_http_outgoing.js:595:11) at ServerResponse.write 
(_http_outgoing.js:567:10)

Спасибо.

1 Ответ

0 голосов
/ 03 августа 2020

Хотя для меня это не имеет никакого смысла, использование readFileSyn c сработало.

const index = fs.readFileSync('./dist/index.html', 'utf8');

app.get('/*', (req, res) => {
    res.write(index);
    res.end('');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...