res.render в обратном вызове не выполняется - PullRequest
0 голосов
/ 05 июня 2019

У меня есть следующий код:

router.post('/', (req, res, next) => {
  fs.writeFile(__dirname + '/../temp/temp.js', req.body.editor, (err) => {
    if (err) return console.error(err);
    console.log('file read');
    res.render('index', {
      instructions: reader.readInstructions('lesson1.txt'),
      console: 'hola maigos'
    })
  })
})

Когда отправляется запрос на публикацию, мой браузер отправляет сообщение о том, что localhost не отправил никаких данных. Console.log выполняется, но рендер не работает. Если я возьму res.render из функции fs.writeFile, он будет работать как положено.

Почему не происходит повторный рендеринг? Любая помощь очень ценится.

1 Ответ

0 голосов
/ 06 июня 2019

Правильно ли настроен ваш шаблонизатор?

Если это так, проверьте, находится ли ваш файл в каталоге, заданном в свойствах настройки приложения:

app.set('views', './views') //here check if your index file is inside the views or the directory of your template folder
app.set('view engine', 'ejs')

Источник: http://expressjs.com/en/guide/using-template-engines.html

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