Я пытаюсь настроить плагин 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.
Скажите мне, что я делаю неправильно, и как решить проблему.
Спасибо!