nuxt3 pc、移动端布局布局切换

文章介绍了如何利用Nuxt3框架开发适配PC和移动端的企业官网,强调了Nuxt3的懒加载优势和页面组件的独立性。通过在服务端判断设备类型并结合布局文件和组件来实现布局切换。同时对比了媒体查询、JavaScript监听resize事件和服务器重定向等适配方案的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nuxt3 pc、移动端布局布局切换

如果你想要开发一套企业官网,pc端移动端差距较大,并需要适配pc端和移动端可以考虑使用nuxt3去做

优点

  • vue语法
  • 不同端,不同页面都是一个组件,互不影响,开发方便
  • 页面组件都是懒加载的,访问速度有保障
  • pc、移动切换流畅

缺点

  • 移动端和pc端每个页面各写一份肯定有冗余

所以也可以考虑 媒体查询从定向的方式

页面效果

在这里插入图片描述

如果你还不了解nuxt3,请先到下面的链接中查看

Nuxt3中文网

了解nuxt3基本知识后,可以下载dom到本地

demo地址

思路分析

在这里插入图片描述

首先,用户请求服务器,nuxt判断当前环境为PC或移动端,若为PC端,则返回PC端所有文件,当屏幕缩小到690px下加载移动端的文件,当点击跳转到about链接按钮,加载MbAbout.vue文件;整个页面都是懒加载的。

在这里插入图片描述

app.vue

首先app.vue文件为程序入口文件,在app.vue中process.server表示只在服务端处理,既在服务端的时候通过useRequestHeaders获取请求头,并通过deviceType方法判断了请求类型,最后用useState方法保存了全局相应状态lauyou。同时app.vue文件还监听resize事件,更新layout状态。

layouts

pc端的layout
我们以pc端的layout文件为例,layout文件主要存放页面的公共部分,如页眉页脚等内容,而每个页面会插入到slot插槽中,注意可以把页眉页脚也作为组件封装出去,这样会更简洁。

pages

pc端pages
这里以首页的page为例,首先懒加载的引入了PcBannerMbBanner组件并通过全局状态useState("layout")切换不同的页面

components/pc

做完上面的操作就可以编写每页具体的代码了,pc端代码放到components/pc下面移动端同理

在这里插入图片描述

最后了解下其他适配方案

js+media

通过js监听resize事件判断元素显示隐藏,通过@media判断

在这里插入图片描述
优点: css媒体查询切换更流畅
缺点:需要适配很多样式,开发速度慢

服务器重定向

写两套代码,部署两个url,服务器根据请求头进行判定

例如: .shouye.cn 和 m.shouye.cn.
在这里插入图片描述
优点: 开发速度比js+media快
缺点: 两套代码、只有第一次重定向,无法在页面内切换。

有什么方法既能保证开发速度,又能有较好的效果呢?可以试下nuxt3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值