1、安装 prerender-spa-plugin
2.在webpack配置中 添加插件
3.设置mian.js中渲染事件
4.路由改成history 模式
原理:
一、为什么要使用prerender-spa-plugin
主要原因有里两点: 1.SEO: spa应用的SEO比较差,爬虫爬到的页面结构大多只有入口页,然而入口页几乎没有什么内容,因此排名很低
2.首屏体验:由webpack生成的入口页基本只有一个主js,本身页面没有内容,因此在这个js加载完成之前,用户看到的都是一片空白。
为了解决这个问题,一般是把规定好的静态页给后台,用户请求直接返回的是静态页,这样在主js加载之前用户还是能看到一些东西的。但是这样也会有问题,比如我们想做一个loading 的组件放在首屏,就非常麻烦,同时也是一个和后台沟通的成本(其实就是大佬不想总是依赖后台)所以如果我们自己能直接生成体验良好的首屏页面,那肯定是极好的
这就是 prerender-spa-plugin 的作用,它能够直接生成拥有静态结构的html,可以尽情地往首批里面放入你想展现的东西