美文网首页vue
vue-cli3.0预渲染

vue-cli3.0预渲染

作者: 匆匆那年_海 | 来源:发表于2019-08-19 18:17 被阅读2次

    vue-cli3.0搭建的项目文件简洁很多,很舒服,没有build和config文件夹,所以应该在根目录下创建vue.config.js文件进行webpack配置。

    1.核心插件

    cnpm install prerender-spa-plugin --save-dev
    

    2.vue-config.js中

    const path = require('path');
    const PrerenderSPAPlugin = require('prerender-spa-plugin');
    const Renderer = PrerenderSPAPlugin.PuppeteerRenderer;
    module.exports = {
            configureWebpack: config => {
            if (process.env.NODE_ENV === 'production') {
                // 为生产环境修改配置...
                return {
                    plugins: [
                        // 预渲染配置
                        new PrerenderSPAPlugin({
                            //要求-给的WebPack-输出应用程序的路径预渲染。
                            staticDir: path.join(__dirname, 'dist'),
                            //必需,要渲染的路线。
                            routes: ['/','/fillIn'],
                            //必须,要使用的实际渲染器,没有则不能预编译
                            renderer: new Renderer({
                                inject: {
                                    foo: 'bar'
                                },
                                headless: false, //渲染时显示浏览器窗口。对调试很有用。  
                                //等待渲染,直到检测到指定元素。
                                //例如,在项目入口使用`document.dispatchEvent(new Event('custom-render-trigger'))` 
                                renderAfterDocumentEvent: 'render-event'
                            })
                        })
                    ],
                }
            } else {
                // 为开发环境修改配置...
                return;
            }
        }
    }
    

    3.在main.js中

    new Vue({
      router,
      store,
      render: h => h(App),
      mounted () {
        document.dispatchEvent(new Event('render-event'))
      }
    }).$mount('#app')
    
    4.router.js 中路由必须设置 mode: “history”模式
    5.npm run build打包,生成的 dist 目录里有配置的每个路由名称对应的文件夹,里面的index.html有内容,就代表成功了。反之,请重新按步骤检查。

    相关文章

      网友评论

        本文标题:vue-cli3.0预渲染

        本文链接:https://www.haomeiwen.com/subject/dapesctx.html