关于对现阶段vue项目的一些总结和感想
一、前言
现阶段手上vue的项目差不多快完了,空闲之余回反复对整个项目的代码结构、实现细节以及框架上的做了一些思考和优化。下面打算把想到的和重点实现的方法记录一下。
二、回顾
对于常规操作,这里不做过多的阐述,我们只讨论重点部分
1.登录模块:这块我们用了两个校验,一个是权限校验一个是账号校验。第一个校验通过之后执行第二个校验,两者通过登录成功,页面跳转。

a.这里网络请求用的是axios,它是基于promise封装的一个http库,所以用了两个.then()的链式写法,当然也支持多个链式操作。第一个then方法是权限校验,第二个then方法是账号登录校验。如果是以前的ajax的话,这里就需要在success方法里面写回掉了(又称回调金字塔);this.root是一个全局变量,这个后面在做解释。
b.账号校验成功之后将个人信息存到vuex中,主要包括state,actions和mutations,state定义数据格式,view与actions交互,actions调用mutations定义的方法,mutations在改变state中的数据

2.路由:使用动态路由和全局守卫,路由动态加载,router.beforeEach进行页面拦截。具体请参考https://www.cnblogs.com/xufeikko/p/10169826.html
a.获取动态路由,push,addRoutes


b.全局守卫:根据登录成功后state中的doctorId判断

3.全局变量root(正式环境和开发环境的路径)
区分正式环境和开发环境,需要在config文件中的dev.env.js和prod.env.js文件中做相应的配置
a.dev.env.js配置,这里配置开发环境地址

b.prod.env.js配置,这里配置正式环境地址

c.全局变量的使用

4.全局组件的注册和在main.js中的引用,另外还有一个局部组件,两者需配合一起使用。


5.axios的拦截封装:对各response的status进行判断拦截,然后做出对应的动作.

6.利用scss实现整体换肤和字体大小的设置,具体实现请参考 https://www.cnblogs.com/xufeikko/p/10060676.html
7.使用vue+dcloud的h5+API实现调用底层摄像头、拍照上传及其它一些原生功能,需用hbuilder打包后才可以调试。
a.调用摄像头或相册选取图片

b.创建任务、添加文件、开始上传任务

8.使用腾讯云Im(websdk)实现即时通信 具体可以参考:https://www.cnblogs.com/xufeikko/p/10222292.html 及腾讯官方文档 https://cloud.tencent.com/document/product/269
三、感想
最近利用空闲时间对整体项目的框架和内部代码重新过了一遍,通过对比了其它的项目结构和具体的各技术实现方案,确实看到了以往在专注开发过程所没注意到的东西,有宏观的、微关的。尽管目前项目并不是很最好的状态,但通过此次的思考让我对整个项目有了重新的认识,也让自己前进了一小步。该项目使用了vue+Dcloud两种框架,dcloud主要使用了其所提供的api实现一些原生的功能。本篇文章由于没有具体介绍实施的细节,只想做一些项目上大的方向上的交流。如果大家有什么的好的想法和建议,欢迎留言一起学习和交流。文章中如有不足之处,也希望各位大佬给与指正,谢谢。
关于对现阶段vue项目的一些总结和感想的更多相关文章
- vue-cli快速构建Vue项目
vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. vue-cli怎么使用? 安装vue-cli之前,需要先装好vue 和 webpack npm i ...
- requirejs + vue 项目搭建2
上篇是年后的项目搭建的,时间比较仓促,感觉有点low 1.gulp-vue 文件对公用js的有依赖,以后别的同事拿去搭其他项目,估计会被喷 2.不支持vue-loader一样写模版语言和es6语法 最 ...
- vue项目目录介绍
Vue项目目录 初始化项目 vue init webpack []projectname] cd [projectname] npm install vue run dev 目录树 +---build ...
- Vue 项目实战系列 (一)
最近一直在学习Vue,基本的文档看完后就需要进行具体的项目进行练手了,本系列文章主要是将我学习过程记录下来,和大家一起学习交流. 我在git上找到了一个淘票票的Vue项目,项目地址: https:// ...
- 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)
github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...
- vue项目构建与实战
关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 由于vue相对来说比较平缓的学习过程和新颖的技术思路,使其受到了广大前后端开发者的青睐,同时其通俗易 ...
- Vue项目搭建完整剖析全过程
Vue项目搭建完整剖析全过程 项目源码地址:https://github.com/ballyalex 有帮助的话就加个星星呗~! 项目技术栈:vue+webpack+bower+sass+axios ...
- 利用webpack构建vue项目
快速搭建vue项目 一,确认自己有无搭建好node以及npm环境,这些是前提,具体安装方法可参考https://nodejs.org/en/. 二,开始构建项目. 第1步:新建一个文件夹,随意命名. ...
- 如何快速把 Vue 项目升级到 webpack3
由于 webpack3升级后,新增了 Scope Hositing(作用域提升) 功能,据说是对 js的性能提升很大.因此,我们做了一个测试对比,就是 webpack3和 webpack1/2 的性能 ...
随机推荐
- 57. Collections(list的工具类)、Arrays(数组的工具类)
List集合的工具类(Collections): 注意:Collection是单列集合的根接口 Collections是操作集合对象的工具类 1.对list集合排序: sort(List) 根据自然 ...
- 决策树(Decision Tree)算法 python简单实现
"" """ import numpy as np from math import log import operator import json ...
- SQL 查询子句
SQL WHERE Clause(查询子句) WHERE 子句用于过滤记录. SQL WHERE 子句 WHERE子句用于提取满足指定标准的记录. SQL WHERE 语法 SELECT column ...
- Linux环境下安装PHP的gd库
当前使用的安装包版本: freetype-2.4.0.tar.bz2 jpegsrc.v9.tar.gz libpng-1.6.28.tar.gz 1.安装freetype tar jxvf free ...
- 51nod-1515 明辨是非——并查集
给n组操作,每组操作形式为x y p. 当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等:否则输出NO,并忽略此次操作. 当p为0时,如果第x变量和第y个变量可以不相等,则输 ...
- 1022 Digital Library (30 分)
1022 Digital Library (30 分) A Digital Library contains millions of books, stored according to thei ...
- 剑指offer——53字符流中第一个只出现一次的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- 【转载】Spring 源码分析之 bean 实例化原理
本次主要想写spring bean的实例化相关的内容.创建spring bean 实例是spring bean 生命周期的第一阶段.bean 的生命周期主要有如下几个步骤: 创建bean的实例 给实例 ...
- MySQL在Win10与Ubuntu下的安装与配置
本文首发于cartoon的博客 转载请注明出处:https://cartoonyu.github.io/cartoon-blog 近段时间把自己电脑(win).虚拟机(Ubun ...
- Quartz CronTrigger 整配置说明
Quartz cron 表达式的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级. Quartz用cron 表达式存放执行计划,引用了cron表达式的CronTrigger在计 ...