• 后台管理项目--如何搭建框架


    本次后台管理项目的开发,用到技术有:vite,axios,vue3,vue-router@4,vuex4,element-plus,echarts(数据可视化),nodejs18(推荐18,本人用的14会弹出来警告)

    项目架构:

    1.安装脚手架

    npm init vue@latest
    • 进行预设,自定义项目名,对一些工具选择是否安装,这里我只安了路由,后面就不用单独安装

    • cd 跳转到我们新建立的项目里面 

    •  在我们新建立的项目里面下载依赖包
    npm i 
    •  启动我们的文件
    npm run dev
    • 到这一步我们的脚手架就弄好了 

     

    分析目录样式,把不需要的文件删掉,就可以啦!!

    2.下载重置样式工具

    npm i normalize.css

    3.集成vuex

    • src下创建store
    • 安装vuex
    npm i vuex@next -S
    • 安装持久化存储插件
    npm i vuex-persistedstate -S

    4.在store中新建立一个index.js文件,这里为我们的存储做一些准备工作。

    1. import { createStore } from 'vuex'
    2. import createPersistedState from 'vuex-persistedstate'
    3. import user from './modules/user'
    4. import menu from './modules/menu'
    5. const store = createStore({
    6. modules: {
    7. user,
    8. menu
    9. },
    10. plugins: [
    11. createPersistedState({
    12. storage: window.localStorage, //默认 修改存储的状态
    13. key: 'key',
    14. }),
    15. ],
    16. })
    17. export default store

    在store新建立一个modules,在modules里面建一个user.js,用于存储我们的模块信息

    1. const user = {
    2. namespaced: true, // 命令空间
    3. // 内存
    4. state: {
    5. user: {}, //用户信息
    6. },
    7. /**
    8. * 只能定义同步任务
    9. */
    10. mutations: {
    11. //state:状态,后面的参数是传入的参数
    12. SAVE_USER(state, user) {
    13. state.user = user
    14. },
    15. CLEAR_USER(state) {
    16. state.user = {}
    17. },
    18. },
    19. /**
    20. * actions可以定义异步任务
    21. */
    22. actions: {
    23. //commit 执行mutations中方法, 后面的参数为传的参数
    24. saveUser({ commit }, user) {
    25. commit('SAVE_USER', user)
    26. },
    27. clearUser({ commit }) {
    28. commit('CLEAR_USER')
    29. },
    30. },
    31. getters: {
    32. user: state => state.user,
    33. },
    34. }
    35. export default user

    此时不要忘了在入口文件main.js中引入Store,并将其集成。 

    下一步我们进行网络封装

    • 在src下面新建立一个untils(工具包)文件夹,在untils里面建立request.js文件,进行axios的二次封装。
    • 首先安装axios
    npm install axios -S

    request.js:我们在用的时候对里面内容进行修改完善即可。 

    1. import axios from 'axios'
    2. const axiosServer = axios.create({
    3. baseURL: 'https://api.yuguoxy.com',
    4. // baseURL: 'http://10.7.162.150:8089',
    5. timeout: 5000,
    6. })
    7. //请求拦截器
    8. axiosServer.interceptors.request.use(
    9. config => {
    10. // console.log('请求拦截器 config ', config)
    11. return config
    12. },
    13. error => {
    14. // 对请求错误做些什么
    15. return Promise.reject(error)
    16. }
    17. )
    18. //响应拦截器
    19. axiosServer.interceptors.response.use(
    20. function (response) {
    21. return response.data
    22. },
    23. function (error) {
    24. // 对响应错误做点什么
    25. return Promise.reject(error)
    26. }
    27. )
    28. export default axiosServer

    src下新建立一个文件夹:api,用于存放接口。例如index.js里面存储登录注册的接口。

    1. import axiosServer from '../utils/request'
    2. /**
    3. * 登录接口
    4. * @param {*} username
    5. * @param {*} password
    6. * @returns
    7. */
    8. export const RequestLogin = (username,password)=>{
    9. return axiosServer({
    10. method:'post',
    11. // 这里要改
    12. url:'/api/member/login',
    13. data:{
    14. username,
    15. password
    16. }
    17. })
    18. }

    安装UI组件库,按需导入

    npm install element-plus --save

    自动按需导入:

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

     在 vite.config.js中配置文件

    1. import { defineConfig } from 'vite'
    2. import AutoImport from 'unplugin-auto-import/vite'
    3. import Components from 'unplugin-vue-components/vite'
    4. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
    5. export default defineConfig({
    6. // ...
    7. plugins: [
    8. // ...
    9. AutoImport({
    10. resolvers: [ElementPlusResolver()],
    11. }),
    12. Components({
    13. resolvers: [ElementPlusResolver()],
    14. }),
    15. ],
    16. })

     安装css样式

    npm i sass -D

    对于每个文件夹下存储的文件是做什么的要清楚! 

    *在views下放的是不需要注册的单文件组件,在components下放的是可能复用的组件。

    modules里面建一个user.js,用于存储我们的模块信息

    untils(工具包)文件夹,在untils里面建立request.js文件,进行axios的二次封装。

    api,用于存放接口。例如index.js里面存储登录注册的接口。

    小编建议大家可以把自己搭建的环境,上传到git远程仓库,下次要用的时候可以直接克隆下来,不需要二次搭建,耗费时间哦!

    关于后台项目的开发, 会在下一篇继续记录的。

  • 相关阅读:
    字节二面:可重复读隔离级别下,这个场景会发生什么?
    正则表达式
    【基本算法题-2022.7.31】12. 激光炸弹
    C++之智能指针
    JAVA宠物管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
    Moleculer微服务02
    浅谈面试经验
    MySQL 保姆级教程(一):了解 SQL
    77. 组合、216. 组合总和 III、17. 电话号码的字母组合
    数据化运营19 传播(上):如何打造千万级的私域运营体系?
  • 原文地址:https://blog.csdn.net/qq_63322025/article/details/127417905