vue3项目实战-shopping-第一章-项目起步与基础配置

1、项目初始化和git管理

git init

git add .

git commit -m "***"

2、别名路径联想设置

根目录下新增jsconfig.json,添加如下配置项

{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": [
"src/*"
]
}
}
}

3、element-plus自动按需导入

首先,安装element组件库
npm install element-plus --save

然后,安装两个插件

npm install -D unplugin-vue-components unplugin-auto-import

配置:

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

4、element-plus主题色定制

1)安装scss:npm i sass -D

2)准备样式定制文件

styles/element/index.scss

插入如下内容:

@forward 'element-plus/theme-chalk/src/common/var.scss' with (
  $colors: (
    'primary': (
      // 主色
      'base': #27ba9b,
    ),
    'success': (
      // 成功色
      'base': #1dc779,
    ),
    'warning': (
      // 警告色
      'base': #ffb302,
    ),
    'danger': (
      // 危险色
      'base': #e26237,
    ),
    'error': (
      // 错误色
      'base': #cf4444,
    ),
  )
);

3)对elementplus样式进行管理

更改components目录:(vite.config.js)

Components({
      resolvers: [
        // 1. 配置elementPlus采用sass样式配色系统
        ElementPlusResolver({ importStyle: "sass" }),
      ],
    }),

4)添加css配置:(vite.config.js)

css: {
    preprocessorOptions: {
      scss: {
        // 2. 自动导入定制化样式文件进行样式覆盖
        additionalData: `
          @use "@/styles/element/index.scss" as *;

5)测试:

保存之后,重启项目:可以看到按钮的颜色发生了变化,已经不再是原来的蓝色

5、axios基础配置:

1)安装axios

npm install axios

2)配置基础实例(新建utils/http.js)

1.import axios from 'axios'

2接口基地址和超时时间

const httpInstance = axios.create({
  baseURL: 'http://pcapi-xiaotuxian-front-devtest.itheima.net',
  timeout: 5000
})

3拦截器:

// axios请求拦截器
httpInstance.interceptors.request.use(config => {
  return config
}, e => Promise.reject(e))

// axios响应式拦截器
httpInstance.interceptors.response.use(res => res.data, e => {
  return Promise.reject(e)
})
export default httpInstance

4测试接口是否被调用(apis/testAPI)

import { getCategory } from '@/apis/testAPI'
getCategory().then(res => {
  console.log(res)
})

(1)控制台返回:

(2)Network/fetch/xhr返回:

可见,接口被成功调用

补充:如果项目里面不同的业务模块需要的接口基地址不同,该如何来做?

Axios.create()方法可以被执行很多次,每次执行都会生成一个新的实例

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学英语的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值