基于vue的移动端项目--从零开始

简介: 基于vue的移动端项目--从零开始

本篇文章主要是基于vue开发一个移动app,类似于今日头条,那么如何从无到有呢?注:主要写思路,具体到代码不做过多赘述


1.我得先知道项目是什么类型的,是pc端是移动端还是响应式,需要实现的主要功能是什么,是否做成app   ----了解项目【移动app,今日头条】


2.知道要实现的主要功能了,接下来就是规划技术选型, 大概要知道需要利用什么技术,需要的插件也有数。


使用vue开发,vuecli搭建脚手架 axios发送ajax router实现页面跳转 vuex状态管理……


3.接下来就是搭架子,就是先用vue脚手架,创建一个最基本的架构   以后开发的时候都在这个项目文件里面


4. 团队协作下,使用代码托管,gitee\github     原因: 备份、版本管理,方便(电脑没带,pull一份),便于团队协作(拿u盘岂不太low)


5.团队发开,需要指定一些开发规范, 目的是多人协作下,风格统一,别人能容易些看懂你代码,也是行业的规则  -- 使用eslint代码检查工具,用来检查你的代码是否符合规范


6. 引入vant(有赞)组件库 作用是快速搭建页面,节省开发时间    


7.用REM解决多屏适配  为什么?不同的手机屏幕大小有差异,所以需要去适配不同的手机


官网地址](https://youzan.github.io/vant/#/zh-CN/quickstart#rem-gua-pei)


8.封装axios请求函数  实际工作中,会将一些使用频繁的方法封装起来,方便不同的组件调用,便于维护。


以封装axios为例子,说明封装的好处。

首先,如果我不封装怎样?行不行?  -----是可以的

不封装的情况下:
在需要发送ajax的组件中,使用这个方法。如果有100个组件需要使用,就得复制100份!
特别的注意的是,axios经常在生命周期钩子函数(2)created中使用,created()是初始化完成,啥意思呢,就是数组
// 0.下载--使用npm下载  命令: npm i axios
// 1. 导入axios
import axios from 'axios'
// 2. 使用
axios({
  method: '请求方式', // get post
  url: '请求地址',
  data: {    // 拼接到请求体的参数,  post请求的参数
    xxx: xxx,
  },
  params: {  // 拼接到请求url的参数, get请求的参数
    xxx: xxx 
  }
}).then(res => {
  console.log(res.data) // 后台返回的结果
}).catch(err => {
  console.log(err) // 后台报错返回
})

接下来是第一次封装-- 统一baseURL管理


//步骤:
1.新建一个文件,存放封装的代码
2.为什么axios.create可以进行路径的拼接呢?
---因为axios.create()是工厂函数,使用它可以创建一个拥有通用配置的axios实例 axios.creat([config]) 这个是人家定义的方法
import axios from 'axios' // 导入axios固定格式
const ajax = axios.create({
  baseURL: 'http://localhost:3000' //固定写法
})
export default ajax  //导出

第二次封装


其实第一次封装axios更像是一种约定俗成,毕竟人家就有这个方法,可以拼接路径,这样做可以不用每次都写路径前面那个路径了,但是问题来了,我每次还是要在不同的组件中发起ajax请求,如果有一天路径地址变了,我i还得一个组件一个组件的过去改,不方便。所以我们可以把axios封装到一个单独的文件中,让他变成全局可用,只需要用的时候导入就可以,那么怎么封装呢?

第一步:导入第一次封装的axios  request对象
import request from '../utils/request'
// 导出 commendAPI方法 把axios请求的代码放在里面
export const recommendAPI = () => request({
  url: '/personalized?limit=6',
  method: 'GET'
})
----------------------------接下来在页面中使用----------------------------------------------
 created () {
    this.getRecommendList()        //在钩子函数的第二,初始化调用,此时已经有了data,methods,可以进行请求了
  },
 methods: {
    async getRecommendList () {
      const res = await recommendAPI() // 只需要进行调用就行,不用在里面写请求代码,便于后期维护
      this.recommendArr = res.data.result
    }
  }

题外话:其实也可以将axios挂载到vue原型上,Vue.prototype.$axios=axios ,使用时 :this.$axios.get('/url',{params:{username:'张三'}})。省去导入的一步。

在main.js中引用
import Axios from 'axios'
import qs from 'qs'
//跨域post实例;用到qs组件来避开ajax信使请求;并兼容安卓;
Vue.prototype.$qs = qs;
// 给对象一个原型挂载属性(很重要)
Vue.prototype.$axios = Axios;
Axios.defaults.baseURL = 'http://v.jspang.com:8088';
----------------下面是页面中使用-------------------------
    created(){
     this.$axios.post("/baixing/wxmini/homePageBelowConten")
    .then(res=>{
        console.log(res)
    })
    .catch(err=>{
        console.log(err)
    })
  },

总结:


拿到一个项目后,先了解项目,理解项目要实现的功能,接下来就是根据项目需求,大概清楚需要利用哪些技术栈,以及需要使用的插件工具,然后使用vue搭建一个脚手架,接下来便是下载各种第三方插件,引入到项目文件里面,调试插件功能是否正常,使用gitee管理代码,看看项目开发规范,然后封装一些常用的方法到单独的文件中,需要用的时候引入。这是项目开发时的准备情况。

重点:


1.引入插件注意路径,测试插件是否正常,注意插件或模块的版本

2.使用gitee管理代码,了解常见的git命令。

3.代码规范检查工具 ESLint

4.封装常用的方法,目的是为了以后,方便维护。

image.png

相关文章
|
1天前
|
JavaScript 网络架构
|
1天前
|
人工智能 JavaScript 索引
Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】
这篇文章讨论了在Vue中进行列表渲染时遇到的“Duplicate keys detected”错误。这个错误通常发生在使用 `v-for` 指令渲染列表时,如果没有为每个循环项指定一个唯一的 `key` 属性,或者指定的 `key` 属性值重复了。文章提供了导致错误的原始代码示例,并给出了修正后的代码,通过在 `key` 绑定中加入索引确保 `key` 的唯一性。此外,文章还解释了为什么需要唯一 `key` 以及如何解决这个问题。
Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】
|
1天前
|
缓存 移动开发 JavaScript
查漏补缺方为上策!!两万六字总结vue的基本使用和高级特性,周边插件vuex和vue-router任你挑选
该文章全面总结了Vue.js的基本使用方法与高级特性,并介绍了Vue周边的重要插件Vuex和Vue-Router的使用技巧。
查漏补缺方为上策!!两万六字总结vue的基本使用和高级特性,周边插件vuex和vue-router任你挑选
|
1天前
|
JavaScript
Vue Cli 脚手架安装
本文介绍了如何使用npm和cnpm淘宝镜像加速来安装Vue CLI脚手架工具,并验证安装成功。接着,通过Vue CLI创建新项目,并启动项目服务。
Vue Cli 脚手架安装
|
1天前
|
JavaScript
vue 计算属性,实现复选框的全选和反选 【小案例】
本文通过一个Vue.js小案例,展示了如何使用计算属性实现复选框的全选和反选功能。计算属性的完整写法包括get和set两部分,分别用于获取值和设置值。在全选和反选的场景中,计算属性的get方法用于判断所有复选框是否都已选中,从而控制全选复选框的状态;计算属性的set方法则用于根据全选复选框的状态,批量更新每个复选框的选中状态。通过示例代码和效果图,文章清晰地说明了计算属性在实现这一功能中的作用和效果。
vue 计算属性,实现复选框的全选和反选 【小案例】
|
1天前
|
开发框架 JavaScript 前端开发
手把手教你剖析vue响应式原理,监听数据不再迷茫
该文章深入剖析了Vue.js的响应式原理,特别是如何利用`Object.defineProperty()`来实现数据变化的监听,并探讨了其在异步接口数据处理中的应用。
|
1天前
|
JavaScript
vue中组件的局部注册和全局注册
本文介绍了Vue中组件的局部注册和全局注册的方法,并通过示例代码展示了如何在特定组件或整个Vue应用中注册和使用自定义组件。
|
4月前
|
JavaScript API
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
67 3
|
4月前
|
人工智能 JavaScript 前端开发
毕设项目-基于Springboot和Vue实现蛋糕商城系统(三)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
|
4月前
|
JavaScript Java 关系型数据库
毕设项目-基于Springboot和Vue实现蛋糕商城系统(一)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
153 0