vue 移动端模板

启动项目

npm i 安装依赖

npm run serve 启动项目

cd server (接口目录)

npm i

npm run dev

前言

花了半天的时间整理了一个 vue 移动端项目的模板,希望多还不熟悉 vue 项目搭建的小伙伴有些帮助,也欢迎各路大神提出宝贵的建议,本文章默认你已经对 webpack 和 vue 有一定的了解。

核心知识体系简介

vue-cli3 脚手架

创建项目

开发环境和生产环境配置

配置跨域

vue-router 路由

路由配置

子路由配置

路由守卫,设置页面标题和根据登录状态判断是否允许进入特定页面

对router-link使用active-class,高亮当前路由

vuex 跨组件通信

vuex 配置

vuex 持久化

vuex 使用

rem 移动端适配

通过 amfe-flexibe 设置 root 元素的字体大小

通过 pxtorem 把 px 转成 rem, 无需手动书写 rem

axios 配置

使用拦截器配置 baseURL 和给请求头加上 token

使用拦截器对返回的数据进行处理

挂载到 vue 原型上,方便使用

promise 使用

在项目中使用 async await 把异步变成同步,编写和阅读更舒服

有赞 vant-ui 库

导航栏

单元格

loading

......

使用keep-alive组件缓存某些组件(新增)

添加小型服务器接口,用来编写本项目所需接口

vue-cli3 脚手架

开发环境和生产环境配置

根目录新建两文件 .env.development => 开发环境配置 .env.production => 生产环境配置

文件内容

// .env.development

VUE_APP_URL="https://www.easy-mock.com/mock/5cd62747d3a84206275d58d1/huruqing/api"

// .env.production

VUE_APP_URL="https://www.easy-mock.com/mock/5cd62747d3a84206275d58d1/huruqing/api"

package.json 配置

vue-cli3默认已经给你配置好了model, 开发环境对应development, 生产环境对应production,如果你不知道model,请移步webpack文档官网

在你的项目中,通过 process.env.VUE_APP_URL 可以访问到你在环境配置文件中设置的变量

vue-router 路由

这里主要讲一下路由守卫的配置,先上图

下面是路由守卫配置

vuex 跨组件通信

项目中有以下几个地方用到了 vuex

设置登录状态

设置用户名

保存 token

以登录为里,做个简单说明

登录成功时,修改登陆状态为 true

退出登录时,修改登录状态为 false

获取 store 中 state 设置的变量通过 mapGetters, 看图

vuex 持久化

使用 vuex-persistedstate 插件对 vuex 的状态持久化

等你的页面刷新时,状态依然存在

本质上是这个插件帮你把状态都存到了 localStorage

配置方法,以下是最简单的配置

使用了 vuex-persistedstate 插件后,store 里的状态都存到了 localStorage

rem 移动端适配

安装 amfe-flexible 插件 npm i amfe-flexible --save-dev

在 main.js 中导入

此时你的应用的 html 会自动根据手机的尺寸设置了 font-size, 如图

配置 pxtorem 插件,能帮你自动把 rem 转成 px, 具体配置如下,在项目根目录下的 vue.config.js(没有则新建)

里进行配置,如图

axios 配置

axios 拦截器

能帮我们对数据进行一些统一的处理,比如后台给我们的数据里都是把数据包在 data 对象里面,而使用 axios, 则又会再用 data 把返回的数据再包一层,如果不统一处理以下,用起来很不爽。

设置请求头,后台识别用户经常使用 token, 我们登陆的时候能拿到后台返回的 token, 然后存入 store 里,当我们发送请求时,我们可以给请求头统一加上 token, 如图

把 axios 的实例挂载到 vue 的实例上

发请求的时候,只需要使用 this.$axios.get 或者 this.$axios.post 就行了,是不是很方便

Promise 的使用

promise 是个好东西,可以把异步变同步,在项目中使用 async await 编写代码,那叫一个爽,具体用法如下:

有赞 vant-ui 库

有赞是搞电商开发的,在公众号和小程序模板界算是做得比较不错的,vant-ui是他们开源出来的一个ui库,同时他们还有小程序的ui库,感兴趣的小伙伴可以去看看(https://youzan.github.io/vant/)

vue html5模板,vue-h5-template相关推荐

  1. html5开发制作,漂亮html5模板欣赏,H5网站建设

    html5是什么? HTML5 是下一代的 HTML(超文本标记语言,网页的组成部分),HTML5是web开发世界的一次重大的改变,能适配pc.手机等各终端,跨平台性能极强,移动互联网是未来的趋势,h ...

  2. Vue 后台模板 [Vue admin] SanJi Boot Admin Iview

    导读: 很久没有写文章了,最近一直在忙,之前一直想着可以把SanJi Boot Security项目中的页面使用 Vue+webpack 进行重写,前几天算是阶段性的完成了这个计划,后期会随着SanJ ...

  3. VSCode自定义代码片段1——vue主模板

    VSCode自定义代码片段(vue主模板) {// vue// 1,自定义用户代码片段:VSCode =>左下角设置 =>用户代码片段 => 自定义片段名称 =>编辑用户片段 ...

  4. 【Vue】—Vue的模板语法

    [Vue]-Vue的模板语法 在template中写HTML时,如果需要渲染变量或者表达式,可以使用{{ }}形式来渲染,这个{{ }}就是模板语法,可以把变量或者表达式的结果渲染出来. 模板语法渲染 ...

  5. Vue.js 使用script或template标签创建组件模板内容

    为了使HTML代码和JavaScript代码是分离的,便于以后的阅读和维护,我们可以并建议使用<script>或<template>标签创建组件模板内容. <!DOCTY ...

  6. Vue中 模板template的四种写法

    <div id="app"><h1>我是直接写在构造器里的模板1</h1> </div><template id=" ...

  7. Vue之模板语法(下)

    1. 样式绑定 1.1 class绑定 使用方式:v-bind:class="expression" expression的类型:字符串.数组.对象 1.2 style绑定 v-b ...

  8. vue 修改模板{{}}标签_详解Vue 动态添加模板的几种方法

    以下方法只适用于 Vue1.0 版本,推荐系数由高到低排列. 通常我们会在组件里的 template 属性定义模板,或者是在*.vue文件里的 template 标签里写模板.但是有时候会需要动态生成 ...

  9. vue中模板编译compiler源码详解

    vue编译模板过程; <div><h1>这是compiler</h1> <p v-if="message">{{ message } ...

最新文章

  1. SAP QM-IDI 初探
  2. Java 实现滑动时间窗口限流算法,你见过吗?
  3. mysql table alter_MySQL-ALTER TABLE命令学习[20180503]
  4. DBeaver连接达梦|虚谷|人大金仓等国产数据库
  5. 解决:pycharm运行程序时在Python console窗口中运行 һ����ң�������1�����
  6. 今年因为疫情很多信用卡逾期,结果会怎么样?
  7. 通过Wi-Fi将iPhone与Mac同步的教程
  8. 容器技术Docker K8s 13 容器服务Kubernetes版ACK详解-使用镜像快速创建有状态应用
  9. 使用EditPlus 3时,如何重新设置HTML Page的Default模板
  10. IT行业常见职位英语缩写及中文释义
  11. 杭州地铁四期极有可能被砍掉一部分线路,可能是某条新建线路,或者是某条延伸段
  12. 华为深圳数据分析外包
  13. 网络流(4)——带有容量的顶点和二部匹配
  14. 一个不错的下载年限网站
  15. 李在福羽毛球教学经典视频汇总31集
  16. 2004-10-30 周六
  17. RESTful API 简介(学习笔记)
  18. ​​​​​​​ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key
  19. 瑞森助您实现优秀的LLC恒流LED照明方案
  20. RFID票务管理系统

热门文章

  1. 观察:谁能拯救视频平台的高昂带宽成本?
  2. H264和AAC合成FLV案例
  3. Serverless——前端的3.0时代
  4. MultiModel:跨领域多任务机器学习
  5. Google开源的AR/VR开发库Lullaby
  6. Vue005_ 列表渲染
  7. java小编程----三数之和
  8. 线性代数:如何最通俗地理解矩阵的「秩」?
  9. netty系列之:从零到壹,搭建一个SOCKS代理服务器
  10. 看动画学算法之:递归和递归树