当前位置: 首页 > 科技观察

uni-app提供开箱即用的SSR支持

时间:2023-03-12 12:20:25 科技观察

uni-app团队在完成Vue3.0全平台升级后,于近期发布了基于Vue3.0+uniCloud的开箱即用SSR支持,这官方称之为uniCloud版SSR。据介绍,SSR(服务器端渲染)可以为SPA站点带来两大核心优势:更好的SEO更快的首屏渲染下面是一个uniCloud版本的SSR示例:news.dcloud.io是基于uni-app&AuniCloud开发的消息系统。通过检查元素,您会发现新闻列表数据包含在服务器下发的源代码中,而不是来自客户端的Ajax请求。uniCloud版本的SSR实现起来比较简单,已经和HBuilderX深度集成。您可以按照以下步骤快速上手:第一步:调整代码以适应服务端运行环境的生命周期:在uni-app的生命周期钩子函数中,将页面onLoad、组件beforeCreate和created服务端渲染(SSR)过程中调用,需要在原项目代码中查看获取数据的时机;特定平台API:如果直接使用比如window或者document,这种类型只有浏览器支持全局变量在云端Node.js执行会报错;数据预取:组件天然支持SSR,无需调整代码,推荐使用查询数据库。如果不使用组件,可以使用serverPrefetch实现服务端数据获取,使用@dcloudio/uni-app提供的SSRRef或者Vue.js官方Vuex实现状态同步;更详细的信息和示例代码参考:https://uniapp.dcloud.net.cn/collocation/SSR第二步:编译发布通过HBuilderX的发布菜单->网站PC-Web或手机H5,勾选SSR,并在uniCloudHosting的前端页面勾选Deploy编译好的资源这个过程对于开发者来说非常简单,点击按钮即可。其实HBuilderX在幕后做了很多工作,包括:编译uni-app工程,分别生成ServerBundle和ClientBundle上传ClientBundle到uniCloud在前端虚拟主机中,使用ServerBundle作为uni-SSR云函数资源,编译上传到uniCloud服务空间第三步:配置uni-SSR云函数的URL路径,绑定自定义域名到uni-SSR云函数,然后浏览访问域在服务器中输入名称,就可以得到服务器渲染的页面。至此,uniCloud版SSR的开发部署就结束了。最后看看传统SSR和uniCloud版SSR的优缺点对比:SSR"_fcksavedurl="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Funiapp.dcloud。io%2Fcollocation%2FSSR">点此阅读更多uni-appSSR解决方案本文转自OSCHINA文章标题:uni-app提供开箱即用的SSR支持本文地址:https://www.oschina.net/news/162061/unicloud-SSR