项目流程简述01-准备工作以及封装

搭建脚手架

1.ps:创建脚手架的步骤就不多赘述了.

2.三删两改

(1)三删 : HelloWorde.vue / AboutView.vue / HomeView.vue

(2)两改 :

router / index.js

 

APP.vue

(将所有的代码删除,重新搭建架构)

 

Element按需导入

1. 导入组件(一般选择按需导入)

a. 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。

npm i element-ui -S

b . 安装 babel-plugin-component:

npm install babel-plugin-component -D

2. 修改babel.config.js

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  plugins: [
    [
      'component',
      {
        libraryName: 'element-ui',
        styleLibraryName: 'theme-chalk'
      }
    ]
  ]
}

<!--在APP中进行测试.如果出现button按键,就证明操作无误-->

 

 

模块化封装以及二次封装

1.模块化封装

a. 创建: src / utils / element.js

b. 完整组件列表和引入方式 :

Element - The world's most popular Vue UI framework

 

c. 在mian.js中执行element.js代码

 

d.创建 src / utils / storage.js 搭建本地储存

const KEY = 'interview-pc'
​
// 存储token 有参无返回
export const setToken = token => { localStorage.setItem(KEY, token) }
​
// 获取token 无参有返回
export const getToken = () => localStorage.getItem(KEY)
​
// 删除toekn 无参无返回
export const removeToken = () => { localStorage.removeItem(KEY) }

d. 创建 src / utils / request.js 创建基地址以及拦截器

<-- 下载axios组件 -->

npm i axios

<-- 创建基地址 -->

<-- 拦截器并导入getToken( ) -->

// 导入axios组件
import axios from 'axios'
​
import { getToken } from '@/utils/storage.js'
import { Message } from 'element-ui'
import router from '@/router'
​
// 创建基地址
const request = axios.create({
  baseURL: 'http://interview-api-t.itheima.net/',
  timeout: 50000
})
​
// 拦截器
// 2.1 请求拦截器
request.interceptors.request.use(config => {
  // 发送请求之前做些什么
  if (getToken()) {
    config.headers.Authorization = `Bearer ${getToken()}`
  }
  // config:请求报文
  return config
}, error => {
  // 对请求错误做些什么
  return Promise.reject(error)
})
​
// 2.2 响应拦截器
request.interceptors.response.use(response => {
  // 对响应数据做点什么
  // response:响应报文
  // (3)解构处理
  return response.data
}, error => {
  // 对响应错误做些什么
  // (1)错误提示
  Message.warning(error.response.data.message)
  // (2)401处理
  if (error.response.status === 401) {
    router.push('/login')
  }
  return Promise.reject(error)
})
​
// 默认导出
export default request

2.axios二次封装

a. 创建src / api / user.js 以及article.js

user.js

// 导入request

import request from '@/utils/request.js'
​
// 登录
export const UserLogin = ({ username, password }) => request.post('/auth/login', { username, password })

b. 在APP.vue中测试

<script>
import { UserLogin } from '@/api/user.js'
export default {
  async created () {
    // 登录接口
    const data = await UserLogin({
      username: 'admin',
      password: 'admin'
    })
    console.log(data)
  }
}
</script>

<!--*默认导出是一个很容易忽略掉的点,一定要切记切记,如果出现了这样的报错,很有可能就是"export default request" 写掉了*-->

 

<!--如果是请求成功,就证明之前的步骤都是正确的,准备工作没有错误,可以开始导入路由了,所以及时测试是非常有必要的-->

 

3.导入路由配置

<!--在**src / views**中创建页面,实际页面数量根据业务多少来操作,只需记住**一级路由是整个整个页面,二级路由是有tab切换栏的**。按照下图这个思路去设置. ps:重定向的单词是 : redirect-->

 

以上就是提前准备工作,在测试完毕后就可以开始页面布局了 (ฅ∀<`๑)♡ !!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值