dastiw1
@dastiw1
Frontend Developer

SSR на Express.js и vue.js. Как server.get('*', function (request, response){} работает?

Меня интересует эта строчка:
// Handle all GET requests
server.get('*', function (request, response) {
  // Render our Vue app to a string
  renderer.renderToString(
    // Create an app instance
    require('./assets/app')(),
    // Handle the rendered result
    function (error, html) {
      // If an error occurred while rendering...
      if (error) {
        // Log the error in the console
        console.error(error)
        // Tell the client something went wrong
        return response
          .status(500)
          .send('Server Error')
      }
      // Send the layout with the rendered app's HTML
      response.send(layout.replace('<div id="app"></div>', html))
    }
  )
})

Как это работает?
То что я предполагаю (исправьте если что): Тут сайт запускается "как бы в виртуальной машине" и рендериться VueJS приложение и готовый html передается клиенту.
Я не могу понять как обрабатываются запросы к API.
Полный код server.js
  • Вопрос задан
  • 992 просмотра
Пригласить эксперта
Ответы на вопрос 1
@v_m_smith
лучше бы я пил и курил
Это же отсюда код? ;) https://vuejs.org/v2/guide/ssr.html
Это просто демо, в нем запросы никак не обрабатываются, на любую строку [т.к. get('*', ] в URL сервер вернет один и тот же HTML.
Для обработки конкретных запросов нужно добавлять новые server.get('/requestXXX', и т.д.
см. expressjs.com/ru/guide/routing.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы