一、前言
随着前端技术的不绝发展,Vue3已经成为很多开发者首选的前端框架之一。它的出现带来了更快的速率、更高的性能和更强的功能。而Element Plus、Axios和Vue Router则是Vue生态体系中最受欢迎的几个插件,它们分别提供了丰富的UI组件库、便捷的HTTP客户端和服务端通讯办理方案以及强大的路由管理体系。本文旨在介绍如安在Vue3项目中配置和使用这些插件,资助读者更好地理解和把握Vue3生态中的重要构成部门。
二、jsconfig.json配置别名路径
配置别名路径可以在写代码时遐想提示路径
- {
- "compilerOptions" : {
- "baseUrl" : "./",
- "paths" : {
- "@/*":["src/*"]
- }
- }
- }
复制代码 三、elementPlus引入
1. 安装elementPlus和自动导入插件
npm i elementPlus
npm install -D unplugin-vue-components unplugin-auto-import
2. 配置自动按需导入
- // 引入插件
- 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()],
- }),
- ]
- })
复制代码 3. 测试组件
- <template>
- <el-button type="primary">i am button</el-button>
- </template>
复制代码 四、定制elementPlus主题
1. 安装sass
基于vite的项目默认不支持css预处理器,需要开发者单独安装
npm i sass -D
2. 准备定制化的样式文件
- /* 只需要重写你需要的即可 */
- @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的组件中,按照官方的配置文档来
- 自动导入定制化样式文件进行样式覆盖
- 按需定制主题配置 (需要安装 unplugin-element-plus)
- import { fileURLToPath, URL } from 'node:url'
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- // 引入插件
- import AutoImport from 'unplugin-auto-import/vite'
- import Components from 'unplugin-vue-components/vite'
- // 导入对应包
- import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
- // https://vitejs.dev/config/
- export default defineConfig({
- plugins: [
- vue(),
- // 配置插件
- AutoImport({
- resolvers: [ElementPlusResolver()],
- }),
- Components({
- // 配置elementPlus采用sass样式配色系统
- resolvers: [ElementPlusResolver({ importStyle: 'sass' })],
- }),
- ],
- resolve: {
- // 实际路径转换配置项
- alias: {
- '@': fileURLToPath(new URL('./src', import.meta.url))
- }
- },
- css: {
- preprocessorOptions: {
- scss: {
- // 自动导入定制化样式文件进行样式覆盖
- additionalData: `
- @use "@/styles/element/index.scss" as *;
- `,
- }
- }
- }
- })
复制代码 五、axios安装并简单封装
1. 安装axios
npm i axios
2. 根本配置
官方文档地点:起步 | Axios Docs根本配置通常包罗:
- 实例化 - baseURL + timeout
- 拦截器 - 携带token 401拦截等
- import axios from 'axios'
- // 创建axios实例
- const http = axios.create({
- baseURL: 'http://pcapi-xiaotuxian-front-devtest.itheima.net',
- timeout: 5000
- })
- // axios请求拦截器
- http.interceptors.request.use(config => {
- return config
- }, e => Promise.reject(e))
- // axios响应式拦截器
- http.interceptors.response.use(res => res.data, e => {
- return Promise.reject(e)
- })
- export default http
复制代码 3. 封装哀求函数并测试
- import http from '@/utils/http'
- export function getCategoryAPI () {
- return http({
- url: 'home/category/head'
- })
- }
复制代码 六、路由整体计划
路由计划原则:找页面的切换方式,如果是整体切换,则为一级路由,如果是在一级路由的内部进行的内容切换,则为二级路由
- <template>
- 我是登录页
- </template>
- <template>
- 我是首页
- </template>
- <template>
- 我是home
- </template>
- <template>
- 我是分类
- </template>
- // createRouter:创建router实例对象
- // createWebHistory:创建history模式的路由
- import { createRouter, createWebHistory } from 'vue-router'
- import Login from '@/views/Login/index.vue'
- import Layout from '@/views/Layout/index.vue'
- import Home from '@/views/Home/index.vue'
- import Category from '@/views/Category/index.vue'
- const router = createRouter({
- history: createWebHistory(import.meta.env.BASE_URL),
- // path和component对应关系的位置
- routes: [
- {
- path: '/',
- component: Layout,
- children: [
- {
- path: '',
- component: Home
- },
- {
- path: 'category',
- component: Category
- }
- ]
- },
- {
- path: '/login',
- component: Login
- }
- ]
- })
- export default router
复制代码 七、总结
Vue3以其全新的Composition API、响应式体系和其他特性,极大地提升了开发效率和用户体验。然而,要构建一个完备的Web应用,还需要依靠其他优秀的第三方库来提供额外的支持。Element Plus是一款基于Vue3的高质量UI组件库,它继承了Element UI的优点,并针对Vue3进行了优化。Axios则是一款轻量级的JavaScript库,用于发送HTTP哀求,具有跨浏览器兼容性好、API接口友好等特点。Vue Router是Vue官方保举的路由管理器,可以资助我们实现单页面应用的导航控制和视图切换。
本篇文章详细解说如安在Vue3项目中引入和配置Element Plus、Axios和Vue Router,以及如何利用它们来加强我们的应用功能。我们将探究如何设置主题、自定义组件、处理HTTP哀求以及实现动态路由等功能。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |