SkipTyler
@SkipTyler
Junior+ Front-End developer

Как настроить prerender-spa-plugin + vue?

Я пытаюсь настроить плагин prerender-spa для моего приложения.
Необходимо настроить для нескольких страниц.

Делаю как в документации (Vue.js 2 Router)

Я добавил необходимые параметры для файла webpack.prod.config.js

const PrerenderSPAPlugin = require('prerender-spa-plugin')
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer

const webpackConfig = merge(baseWebpackConfig, {

...

  plugins: [

        // == PRERENDER SPA PLUGIN == //
        new PrerenderSPAPlugin({
            staticDir: path.join(__dirname, '../dist'),
            routes: ['/', '/test'],

            renderer: new Renderer({
                inject: {
                    foo: 'bar'
                },
                headless: false,
                renderAfterDocumentEvent: 'render-event'
            })
        }),
...


Также в файле main.js

new Vue({
  el: '#app',
  router,
    render: h => h(App),
    mounted () {
        // You'll need this for renderAfterDocumentEvent.
        document.dispatchEvent(new Event('render-event'))
    }
})


И App.vue

<div id="app" data-server-rendered="true">

Теперь о главной проблеме. В корне (/) проекта выполняется предварительный рендеринг. Если перейти на страницу /test , то в исходном коде (ctrl + u) будет отображаться код из корня сайта (/).

Я никак не могу вывести контент из / test.

Скажите мне, что я делаю неправильно, и как решить проблему.
Спасибо!
  • Вопрос задан
  • 5678 просмотров
Решения вопроса 1
SkipTyler
@SkipTyler Автор вопроса
Junior+ Front-End developer
Проблему решил.
Собственно проблемы и не было)
Я запуска собранную версию с помощью serve
Не работало.
А заработало с http-server
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы