prerender-spa-plugin 预渲染
1.安装 npm install prerender-spa-plugin --save
2.vue.config.js中写入以下
const PrerenderSPAPlugin = require('prerender-spa-plugin');
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer;
const path = require('path');
// vue.config.js
module.exports = {
configureWebpack: config => {
if (process.env.NODE_ENV !== 'production') return;
return {
plugins: [
new PrerenderSPAPlugin({
staticDir: path.join(__dirname, 'dist'),
routes: ['/', '/Second', '/Detail'],
renderer: new Renderer({
inject: {
foo: "bar"
},
headless: false,
renderAfterDocumentEvent: 'render-event'
})
})
]
}
}
}
3.main.js中写入以下
new Vue({
router,
store,
render: h => h(App),
mounted() {
document.dispatchEvent(new Event('render-event'))
},
}).$mount('#app')
4.router/index.js中写入以下
const router = new VueRouter({
base: process.env.BASE_URL,
routes
})
5.运行npm run build
6.布置后打开页面看到类似下图,则配置成功