vue2-elementUI-初始化启动项目-git

前置基础

资料下载-阿里云盘

  1. vue
  2. axios
  3. element-ui
  4. npm
  5. vscode

初始化项目

1.创建vue2工程

1.1

vue create projectName

1.2 选择

在这里插入图片描述

1.3 初始化 vue-cli 的核心步骤:

  1. Manually select features
    + (*) Babel
    + ( ) TypeScript
    + ( ) Progressive Web App (PWA) Support
    + (*) Router
    + (*) Vuex
    + (*) CSS Pre-processors
    + (*) Linter / Formatter
    + ( ) Unit Testing
    + ( ) E2E Testing
  2. Choose a version of Vue.js that you want to start the project with (Use arrow keys)
    + 2.x
    + 3.x
  3. Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n)
    + n
  4. Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
    + Sass/SCSS (with dart-sass)
    + Sass/SCSS (with node-sass)
    + Less
    + Stylus
  5. Pick a linter / formatter config: (Use arrow keys)
    + ESLint + Airbnb config
    + ESLint + Standard config
    + ESLint + Prettier
  6. Pick additional lint features: (Press to select, to toggle all, to invert selection)
    + (*) Lint on save
    + ( ) Lint and fix on commit
  7. Where do you prefer placing config for Babel, ESLint, etc.? (Use arrow keys)
    + In dedicated config files
    + In package.json
  8. Save this as a preset for future projects? (y/N)
    + N

1.4 梳理项目结构

为项目开发做准备,把不需要的代码、文件删除掉

1. 重置 src/App.vue 组件中的代码
<template>
  <div>App 根组件</div>
</template>

<script>
export default {
  name: 'App'
}
</script>

<style lang="less" scoped></style>
2. 重置 src/router/index.js 路由模块中的代码
import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = []

const router = new VueRouter({
  routes
})

export default router
3. 清空 src/components 目录和 src/views 目录还有路由相关的。
4.把图片素材目录下的 images 文件夹(项目中需要用到的图片),复制粘贴到 src/assets 目录下。
5.把global.less放到src/views 目录下
6.并把global.less 引入到main.js 资料下载在前面
import '@/assets/global.less' // 全局初始化样式

1.5 ESLint代码检查

1.在VSCode中, 下载这个插件

在这里插入图片描述

2. 非常非常非常重要

一定要把脚手架工程, 作为vscode根目录, 因为vscode+eslint插件要使用配置文件.eslintrc, 按照这个的规则检查你的代码
在这里插入图片描述

3.一定要配置插件监测的时机, 修改ESLint插件配置

在这里插入图片描述
在这里插入图片描述

"eslint.run": "onType",
"editor.codeActionsOnSave": {
	"source.fixAll.eslint": true
}

1.6 安装element-ui

npm install element-ui
1.封装新建src/elementUI/index.js, 在这里进行组件引入和注册
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)
2.在main.js中引入, 使其参与到webpack打包并在网页生效
import '@/elementUI' // 注册elementUI组件

1.5 封装请求库

核心思想: 分层架构

在任意组件, 调用封装的接口方法, 接口方法调用统一的axios函数告诉他请求的参数, 它去请求数据

我(任意组件) -> 秘书(接口函数) -> 车(axios) -> 数据(后台返回)
在这里插入图片描述

1. 安装axios
npm install axios
2. 新建src/utils/request.js项目核心请求方法的模块文件
import axios from 'axios'

// 创建一个自定的axios方法(比原axios多了个基地址)
// axios函数请求的url地址前面会被拼接基地址, 然后axios请求baseURL+url后台完整地址
const myAxios = axios.create({
  baseURL: 'http://big-event-vue-api-t.itheima.net'
})

// 导出自定义的axios方法, 供外面调用传参发请求
export default myAxios
3. 新建src/api/index.js项目接口方法统一管理模块文件
import request from '@/utils/request'

// 导出接口方法
export const registerAPI = () => {
  // 这里先用这个接口测试下, 如果url以http开头会忽略baseURL, axios直接请求此地址
  return request({
    // 原地是一个Promise对象,内部包含了ajax请求
    // return 这个Promise对象到逻辑界面,丢到那边对Promise对象提取结果
    url: '/api/reg',
    method: 'POST',
    data: {
      username: 'lidongxu123',
      password: '111111',
      repassword: '111111'
    }
  })
}
4.在任意组件src/App.vue中, 引入接口请求方法, 并请求数据
<template>
  <div>App根组件</div>
</template>

<script>
import { registerAPI } from '@/api'
export default {
  async created () {
    const res = await registerAPI()
    console.log(res)
  }
}
</script>

<style></style>

这种分层架构思想, 可以更好的统一管理项目中所有接口, 并也方便统一给axios方法添加拦截器和修改基地址

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值