本方案的核心主要是采用vue-router来实现的。

首先我们需要有pc端和移动端的两种版本的vue文件,然后配置好自己的路由,下面是我的路由配置。

import Vue from "vue";
import VueRouter from "vue-router";Vue.use(VueRouter);//默认路由
export const routes = [{path: "/",redirect: "/home",},
];
//pc端的路由
export const pcRoutes = [{path: "/",redirect: "/home",},{path: "/home",name: "Home",component: () =>import(/* webpackChunkName: "about" */ "../views/home/pc.vue"),},
];
//移动端设备路由
export const mobileRoutes = [{path: "/",redirect: "/home",},{path: "/home",name: "Home",component: () =>import(/* webpackChunkName: "about" */ "../views/home/mobile.vue"),},
];const createRouter = () =>new VueRouter({scrollBehavior: () => ({ y: 0 }),mode: "history",routes: routes,});const router = createRouter();// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {const newRouter = createRouter();router.matcher = newRouter.matcher; // reset router
}export default router;

配置好路由之后我们就可以先写一个判断是否为移动端的方法,我默认放置的位置为 src/utils/index.js中,具体实现代码为:

// 判断设备是否为移动端的方法
export const isMobile = () => {return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(navigator.userAgent);
};

写好工具之后,再到src目录下创建一个init.js文件用于判断机型从而添加相应的路由,具体实现代码如下。

import router from "./router";
import { isMobile } from "./utils";
import { pcRoutes, mobileRoutes } from "./router";// 判断当前设备的型号从而改变当前路由
router.addRoute(isMobile() ? mobileRoutes[1] : pcRoutes[1]);

最后在vue项目的入口文件main.js文件中引入init.js。

import "./init.js";

以上,有啥不对的还请指教,祝少掉头发。

vue项目PC端移动端适配方案相关推荐

  1. vue项目PC兼容移动端

    做完的pc项目要求兼容移动端,常规操作的话是新做一个webapp后再来回跳转, 当前pc项目没有太多的交互和复杂的页面,所以决定在一个项目里进行兼容适配 1.新建两个组件,pc端页面组件,m端页面组件 ...

  2. 移动端高清适配方案(解决图片模糊问题、1px细线问题)

    移动端高清适配方案(解决图片模糊问题.1px细线问题) 参考文章: (1)移动端高清适配方案(解决图片模糊问题.1px细线问题) (2)https://www.cnblogs.com/superliz ...

  3. Vue项目pc端适配方案(scss)

    前言:vue项目适配可借助于插件lib-flexible 和postcss-px2rem. lib-flexible插件的作用:根据屏幕尺寸不同设置html根标签的字体大小,1rem即等于根标签的字体 ...

  4. 【Vue】pc和移动端网页样式适配

    在下面环节会讲解怎么做pc和移动端网页样式适配. 在当下有两种实现样式适配的:JS 适配方案和CSS 媒体查询适配.下面会具体讲解一下代码该怎么写.

  5. 移动/PC端的一些适配方案

    一.多种屏幕(响应式) 响应式是一种在多种设备(比如pc端 移动端)不同分辨率情况下使界面展现最大程度适应尺寸的手段.响应式包含了移动端适配,也可以使移动端不同分辨率展现不同样式.移动端适配则相对精准 ...

  6. Web移动端最强适配方案总结,没想到这么好用!

    点击上方的终端研发部,右上角选择"设为星标" 一.前言 在过去的几年时间里,移动端web野蛮生长,智能机的Android阵营和IOS阵营分庭抗礼,随之产生了多个系统版本(系统版本多 ...

  7. 移动端Web页面适配方案(整理版)

    @(概述)[基本概念|百分比|rem|vw/vh|响应式设计] 移动端web页面的开发,由于手机屏幕尺寸.分辨率不同,或者需要考虑横竖屏问题,为了使得web页面在不同移动设备上具有相适应的展示效果,需 ...

  8. Vue项目实战-vue2(移动端)

    Vue项目实战(移动端)# 相关资料 (一) 创建项目 (二) 禁用Eslint (三) devtool (四) 添加less支持 (五) vue路由配置(背诵) (六) 父子组件通信(背诵) (七) ...

  9. Vue 项目中各种痛点问题及方案

    作者:愣锤 原文:https://juejin.im/post/6844903632815521799 最近要求使用vue进行前后端分离开发微信公众号,不断摸索踩坑之后,总结出如下几点vue项目开发中 ...

  10. nginx部署vue项目加载资源慢优化方案

    目录 1.问题 2.解决方案推荐gzip压缩解压 2.1 vue项目的配置文件中加如下配置 2.3 nginx服务器配置 1.问题 当我采用nginx部署了vue的项目后发现第一次访问网站需要1分左右 ...

最新文章

  1. kcp 协议分析 基于udp的可靠协议
  2. Ruby 三元一次线性方程组
  3. 为什么说神经网络可以逼近任意函数?
  4. IIS -2147467259 (0x80004005)
  5. Shell 命令大全Xhell入门
  6. anaconda成功安装fasttext后,无法导入的情况
  7. java frame_如何在java中建立frame
  8. 二进制类(运算符号的重载)
  9. JavaScript文件存储信息对象cookie编码生存期
  10. 全心加入web前端开发,向上吧!
  11. JS实现数组去重方法
  12. ContentObserve的基本使用方法
  13. C/C++混编“未定义的引用”的解决一例
  14. 通过高德地图api获取地点坐标(以查询物资点为例)
  15. Java网络编程(精简版)
  16. DongTai被动型IAST工具部署
  17. CESM优化——Intel编译器编译安装NetCDF库(C+Fortran)
  18. centsos7网络连接激活失败_宽带连接时出现711错误的解决方法 | 小马激活官网
  19. Unity 利用射线实现弹孔效果
  20. 2020年软件测试工程师需要具备什么技能--需要学哪些

热门文章

  1. Marlin代码分析一些记录
  2. oracle 生成拼音输入码,c# 生成拼音输入码
  3. 外贸建站需要注意的事项
  4. 知网免费查阅、下载论文方法
  5. ES6的Map数据结构
  6. 阿里月饼事件被辞程序员冤吗
  7. 读后感系列2:《看见》柴静(一)
  8. 多个独立的excel文件合并到一个excel文件的多个工作表Sheet中
  9. 利用定义式求圆锥曲线方程
  10. 【Windows】Win10强制删除文件夹