Как я могу выполнить предварительную визуализацию подмножества моего приложения laravel + vue?

У меня есть приложение laravel с моим интерфейсом, написанным на Vuejs. Я хочу выполнить предварительную визуализацию только общедоступных страниц. Какова правильная конфигурация плагина prerender-spa для этого?

Большинство руководств в Интернете показывают, как это сделать для всего веб-сайта, но мне нужно предварительно обработать только несколько страниц. Должно быть, мне что-то не хватает, но я получаю только пустую страницу, а мой javascript не загружается во время предварительной отрисовки. Я не использую маршрутизатор vue.

const path = require('path')
const PrerenderSPAPlugin = require('prerender-spa-plugin')

// In the mix webpack config - 

  plugins: [
    ...
    new PrerenderSPAPlugin({
      // Required - The path to the webpack-outputted app to prerender.
      staticDir: path.join(__dirname, 'static'),
      // Required - Routes to render.
      routes: [ '/' ],
    })
  ]

Сообщение об ошибке: невозможно выполнить предварительную визуализацию всех маршрутов!


person Sahil Dawka    schedule 23.09.2019    source источник
comment
Возможный дубликат Как предварительно отобразить несколько страниц приложения Vue?   -  person Salim Djerbouh    schedule 23.09.2019


Ответы (1)


Файлы javascript / vue и т. Д. Для статической части должны находиться в статическом каталоге. Это не сработает, если они находятся в папке, которую вы обычно используете для организации остальной части вашего приложения.

Вам нужно использовать HTMLwebpackPlugin, чтобы скопировать html в выходной каталог (скажем, публично). Копия микса происходит слишком поздно. Чанки помогут получить только те файлы js, которые вам нужны.

person Sahil Dawka    schedule 23.09.2019