当前位置: 首页 > news >正文

二、vue3后台项目系列——安装相关依赖、项目常用辅助开发工具

为了快速开发,我们通常会借助第三方的工具辅助我们进行开发。

一般后台项目中:可以借助以下工具进行开发,但是不绝对,根据项目的需要进行选择安装。

这里我会先逐步安装:scss、Element-plus、vue router、vuex、axios、echarts、js-cookie、lodash。其他的后面会根据需要再进行补充安装。

一、基础工具安装

1. 安装 Sass/SCSS

Vue 项目中使用 SCSS 需要安装sasssass-loader

# 使用npm
npm install sass sass-loader --save-dev# 或使用yarn
yarn add sass sass-loader --dev

小解释:

在安装 sass 和 sass-loader 时使用 --save-dev(开发环境依赖)而不是 --save(生产环境依赖),是由它们的作用场景决定的:

核心原因:

sass 和 sass-loader 是开发阶段的编译工具,只在项目构建时起作用,不会被打包到最终的生产环境代码中。

  • sass:是 SCSS/Sass 语法的编译器,负责将 SCSS 代码转换为浏览器可识别的普通 CSS。
  • sass-loader:是 Webpack 的加载器,用于在项目构建过程中调用 sass 编译器处理 .scss 文件。

当项目打包上线时,所有 SCSS 代码已经被编译成了普通 CSS,此时 sass 和 sass-loader 就不再需要了。因此它们属于开发依赖,而非生产依赖。

如果误用 --save 会有什么问题?

  1. 增加生产环境包体积:这些工具会被打包到最终的项目文件中,导致上线后的代码体积变大,影响加载速度。
  2. 不必要的资源浪费:生产环境中根本用不到这些编译工具,打包进去纯属多余。

总结规律:

  • 用 --save-dev(-D)的依赖:仅在开发 / 构建阶段需要的工具(如编译器、打包工具、代码检查工具等)。
  • 用 --save(-S,npm5+ 可省略)的依赖:项目运行时必须的库(如 Vue、Element Plus、Axios 等)。

安装后就可以在 Vue 组件中使用 SCSS 了:

<style lang="scss">
// 可以直接写SCSS语法
$primary-color: #42b983;
.container {color: $primary-color;
}
</style>

2. 安装 Element Plus(Vue 3 版本的 Element 组件库)

Element Plus 是 Element UI 的 Vue 3 适配版本:

# 使用npm
npm install element-plus --save# 或使用yarn
yarn add element-plus

安装后需要在main.js中引入:

import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

3. 安装 Vue Router(路由)

Vue 3 对应的路由版本是 Vue Router 4:

# 使用npm
npm install vue-router@4 --save# 或使用yarn
yarn add vue-router@4

4. 安装 Vuex(状态管理),当然也可以选择pinia进行替换

Vue 3 对应的 Vuex 版本是 Vuex 4:

# 使用npm
npm install vuex@4 --save# 或使用yarn
yarn add vuex@4

配置示例

安装完成后,你可以按以下方式进行基本配置:

路由配置(src/router/index.js)
import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'const routes = [{path: '/',name: 'Home',component: Home},{path: '/about',name: 'About',component: () => import('../views/About.vue')}
]const router = createRouter({history: createWebHistory(),routes
})export default router
Vuex 配置(src/store/index.js)
import { createStore } from 'vuex'export default createStore({state: {count: 0},mutations: {increment(state) {state.count++}},actions: {},modules: {}
})
在 main.js 中引入路由和 Vuex
import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import router from './router'
import store from './store'createApp(App).use(ElementPlus).use(router).use(store).mount('#app')

这样就完成了所有依赖的安装和基本配置,你可以开始在 Vue 3 项目中使用这些工具和库了。

二、其他工具安装

在 Vue 3 后台管理项目中,除了已安装的核心依赖外,通常还需要根据实际需求安装以下常用依赖,以提升开发效率和完善功能:

1. 网络请求相关

  • axios:处理 HTTP 请求(必备)

    npm install axios --save
    

    建议配合拦截器封装,统一处理请求 / 响应、错误和 token 认证

  • qs:处理 URL 参数序列化(尤其表单提交时)

    npm install qs --save
    

2. 工具类库

  • lodash:提供大量实用工具函数(处理对象、数组等)

    npm install lodash --save
    
  • date-fns:轻量级日期处理库(替代 moment.js)

    npm install date-fns --save
    
  • js-cookie:处理 Cookie(存储 token 等)

    npm install js-cookie --save
    

3. 表单处理

  • VeeValidate:表单验证(Vue 3 友好)

    npm install vee-validate@4 --save
    

    配合@vee-validate/rules使用预设验证规则

  • vue-hooks-form:基于 hooks 的表单库(轻量高效)

    npm install @vue-hooks-form/core --save
    

4. 数据可视化(按需)

  • echarts:图表库(适合复杂数据展示)

    npm install echarts --save
    
  • vue-echarts:ECharts 的 Vue 3 封装

    npm install vue-echarts@6 --save
    

5. 权限管理

  • vue-permission:路由权限控制
    npm install vue-permission --save
    

6. 开发辅助工具

  • unplugin-auto-import:自动导入 Vue API 和组件

    npm install unplugin-auto-import --save-dev
    
  • unplugin-vue-components:自动导入组件(尤其 UI 库)

    npm install unplugin-vue-components --save-dev
    
  • eslint + prettier:代码规范和格式化(开发必备)

    npm install eslint prettier eslint-plugin-vue --save-dev
    

7. 其他常用

  • vue-i18n:国际化支持(多语言项目)

    npm install vue-i18n@9 --save
    
  • nprogress:页面加载进度条

    npm install nprogress --save
    
  • vue-pdf:PDF 预览组件

    npm install vue-pdf@latest --save
    

按需选择原则

  • 基础后台必备:axios + lodash + js-cookie + 代码规范工具
  • 复杂表单:添加表单验证库
  • 多语言:添加vue-i18n
  • 数据可视化:添加图表库

安装后建议根据项目架构进行封装(如请求拦截、权限控制、全局组件注册等),形成可复用的基础框架。

三、安装mock进行模拟数据,如有后端则不需要,此处用来模拟开发中的请求

在 Vue 3 项目中,推荐使用 vite-plugin-mock 来实现 Mock 功能(尤其如果你是用 Vite 创建的项目),它能很方便地模拟后端接口数据。

安装步骤如下:

  1. 安装依赖
# 安装mock相关依赖
npm install mockjs vite-plugin-mock --save-dev

这里使用 --save-dev 是因为 Mock 服务仅在开发阶段使用,生产环境不需要。

  1. 在 vite.config.js 中配置
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { viteMockServe } from 'vite-plugin-mock'export default defineConfig({plugins: [vue(),// 配置mock服务viteMockServe({// 本地开发时启用mocklocalEnabled: true,// mock文件所在目录mockPath: './src/mock/'})]
})
  1. 创建 Mock 数据文件
    在 src/mock 目录下创建接口模拟文件,例如 user.js
export default [{// 请求路径url: '/api/login',// 请求方法method: 'post',// 响应数据response: ({ body }) => {// 模拟验证用户名密码if (body.username === 'admin' && body.password === '123456') {return {code: 200,message: '登录成功',data: {token: 'mock-token-123456',userInfo: {id: 1,name: '管理员'}}}} else {return {code: 401,message: '用户名或密码错误'}}}}
]
  1. 使用 Mock 接口
    在项目中直接请求定义的接口即可:
import axios from 'axios'// 调用登录接口
async function login() {const res = await axios.post('/api/login', {username: 'admin',password: '123456'})console.log(res.data)
}

这样就可以在不依赖后端接口的情况下,进行前端开发和调试了。如果是使用 Vue CLI 创建的项目,可以使用 vue-cli-plugin-mock,配置方式类似。


文章转载自:

http://a5w9zC9Z.yfstt.cn
http://Y4ZFsRY4.yfstt.cn
http://Btg4cPfV.yfstt.cn
http://aTJfDIXI.yfstt.cn
http://4csRmFGI.yfstt.cn
http://GkmfhJd2.yfstt.cn
http://KhfglXbU.yfstt.cn
http://546wVGHu.yfstt.cn
http://HFwhdZvt.yfstt.cn
http://UzoDeLpD.yfstt.cn
http://zJ16ogEg.yfstt.cn
http://9A321Hc6.yfstt.cn
http://olr3m3Qy.yfstt.cn
http://DBwaSuys.yfstt.cn
http://5pZM3x2F.yfstt.cn
http://dSo0M1o4.yfstt.cn
http://etW2MD5P.yfstt.cn
http://itcFrw7D.yfstt.cn
http://puOeyela.yfstt.cn
http://epIn1Uqs.yfstt.cn
http://7Oh10AsD.yfstt.cn
http://Mra7DGjU.yfstt.cn
http://vvh63a0d.yfstt.cn
http://aSf6kq30.yfstt.cn
http://QWhT44qv.yfstt.cn
http://2ZFUYyvE.yfstt.cn
http://pRhQzUYf.yfstt.cn
http://fHb2FFzb.yfstt.cn
http://uOSTMb0i.yfstt.cn
http://bWKfETpk.yfstt.cn
http://www.dtcms.com/a/383096.html

相关文章:

  • Knockout.js 备忘录模块详解
  • VS2022下载+海康SDK环境配置实现实时预览
  • 前端基础 —— C / JavaScript基础语法
  • 手搓一个 DELL EMC Unity存储系统健康检查清单
  • 字节M3-Agent:如何实现一个支持多模态长期记忆与推理的Agent
  • TCL华星计划投建第8.6代印刷OLED产线
  • Qt学习:moc生成的元对象信息
  • Java—JDBC 和数据库连接池
  • 软件工程实践四:MyBatis-Plus 教程(连接、分页、查询)
  • 用 Go 快速上手 Protocol Buffers
  • Java Stream 流学习笔记
  • Linux线程id与简易封装线程实现
  • 公链分析报告 - Secret Network
  • JavaScript 简单链表题目试析
  • 【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
  • 电商AI导购系统的模型部署架构:TensorFlow Serving在实时推荐中的实践
  • 光射三缝实验
  • K8s部署 Redis 主从集群
  • Android点击桌面图库应用启动流程trace分析
  • 【抗量子安全】全球视角下 PQC 与 QKD 技术洞察:政策引领与产业演进
  • 代码随想录学习摘抄day9(回溯1-11)
  • 数据处理指令
  • SpringBoot 中 ZK 与 Kafka 节点选择逻辑:底层原理与实践解析
  • 事务与mysql数据库锁的关系
  • 继承类模板:函数未在模板定义上下文中声明,只能通过实例化上下文中参数相关的查找找到
  • 07-Redis 基础操作全攻略:从键管理到数据类型判断
  • 【linux】特殊权限
  • [数据结构] 排序
  • Python网络与多任务编程:TCP/UDP实战指南
  • Elasticsearch面试精讲 Day 17:查询性能调优实践