vue-cli3项目SEO增强

281 阅读1分钟

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

1279786-20201026093419639-241216251.png

6.布置后打开页面看到类似下图,则配置成功

image.png