vue等框架打包的项目一般为SPA应用,而单页面是不利于SEO的,现在的解决方案有两种:
注意:
然后在webpack.prod.conf.js里面添加:
在webpack.prod.conf.js的plugins里面添加:
最后在main.js里面修改:
安装:
在main.js引入:
在vue页面中配置:
还不了解vue为什么不被百度收录或预渲染怎么使用的童鞋们建议点下面链接了解下
vue项目不被百度收录怎么办、seo优化问题/预渲染的具体使用
Nuxt.js介绍、Nuxt.js 是什么?:
Nuxt.js安装
确保安装了npx(npx在NPM版本5.2.0默认安装了):
或者用yarn :
然后会让你进行一些安装的选择,这里就简单说下(UI框架没有就选none就行了,Eslint检测本人是非常不习惯用的所以我一般都不选,其他的没什么说的)
当运行完时,它将安装所有依赖项,因此下一步是启动项目:
应用现在运行在 http://localhost:3000 上运行。
提示: 在您的 vue 模板中, 如果你需要引入 assets 或者 static 目录, 使用 ~/assets/your_ 和 ~/static/your_方式。
说下路由配置问题:
总结
每个框架都有他自己对应的ssr方案,今天这里提到了vue的,有心的童鞋可以自行查阅其他框架方面的
再说几点关于seo方面的小技巧
end~~~
如有错误或观点不一致的请评论留言共同讨论,本人前端小白一枚,根据自己实际项目遇到的问题进行总结分享,谢谢大家的阅读!
文章对您有所帮助请给作者点个赞支持下,谢谢~
仍是SPA
需要用到 react-router-config 这个库,它可以根据 route 匹配到对应的组件,拿到当前route对应的组件是实现路由同步的关键,再通过组件的静态API方法获取接口数据
主要是在服务端通过组件的静态API方法获取接口数据后创建store,再通过 window. store = store 传递给前端
主要是要将前端的 js 文件附加在服务端渲染的模板 html 文件中
服务端渲染的应用场景:一般只是对重要的页面,如首页才会做,可以提高首屏加载速度,利于SEO。其他页面实际上仍是CSR
预渲染不像服务器渲染那样即时编译 HTML,它只在构建时为了特定的路由生成特定的几个静态页面,等于我们可以通过 Webpack 插件将一些特定页面组件 build 时就编译为 html 文件,直接以静态资源的形式输出给搜索引擎。
1、SPA变为MPA
2、必须使用 History 路由,而不能使用 Hash 路由,所以对于没有做预渲染的页面往往需要服务器配置路由,如nginx 配置如下:
3、对于动态路由,如 /detail/:id ,是不支持的,不过可以换成 query 路由,如 /detail?id=
4、应用场景比较有限,能想到的就是骨架屏应用,比如首页,为了速度,我们会用一些骨架屏组件,如果不做预渲染,则骨架屏组件会等整个js文件加载完毕才开始渲染,体验不好。如果做了预渲染,则当html文件加载完毕时就会开始渲染了
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)