1 介绍

基于 vue-cli + vue3.x + vue-router4.x + vuex4.x + aixos + element plus + iconfont 的基础后台管理系统模板

1.1 目录结构

本项目已经为你生成了一个完整的开发框架,提供了涵盖中后台开发的各类功能和坑位,下面是整个项目的目录结构。

├── build                      # 构建相关
├── mock                       # 项目mock 模拟数据
├── plop-templates             # 基本模板
├── public                     # 静态资源
│   │── favicon.ico            # favicon图标
│   └── index.html             # html模板
├── src                        # 源代码
│   ├── api                    # 所有请求
│   ├── assets                 # 主题 字体等静态资源
│   ├── components             # 全局公用组件
│   ├── directive              # 全局指令
│   ├── filters                # 全局 filter
│   ├── icons                  # 项目所有 svg icons
│   ├── lang                   # 国际化 language
│   ├── layout                 # 全局 layout
│   ├── router                 # 路由
│   ├── store                  # 全局 store管理
│   ├── styles                 # 全局样式
│   ├── utils                  # 全局公用方法
│   ├── vendor                 # 公用vendor
│   ├── views                  # views 所有页面
│   ├── App.vue                # 入口页面
│   ├── main.js                # 入口文件 加载组件 初始化等
│   └── permission.js          # 权限管理
├── tests                      # 测试
├── .env.xxx                   # 环境变量配置
├── .eslintrc.js               # eslint 配置项
├── .babelrc                   # babel-loader 配置
├── .travis.yml                # 自动化CI配置
├── vue.config.js              # vue-cli 配置
├── postcss.config.js          # postcss 配置
└── package.json               # package.json

2 风格指南

2.1 Component

所有的 Component 文件都是以大写开头 (PascalCase),这也是官方所推荐的。

但除了 index.vue。

例子:

  • @/components/BackToTop/index.vue
  • @/components/Charts/Line.vue
  • @/views/example/components/Button.vue

2.2 JS 文件

所有的.js 文件都遵循横线连接 (kebab-case)。

例子:

  • @/utils/open-window.js
  • @/views/svg-icons/require-icons.js
  • @/components/MarkdownEditor/default-options.js

2.3 Views

在 views 文件下,代表路由的.vue 文件都使用横线连接 (kebab-case),代表路由的文件夹也是使用同样的规则。

例子:

  • @/views/svg-icons/index.vue
  • @/views/svg-icons/require-icons.js

使用横线连接 (kebab-case)来命名 views 主要是出于以下几个考虑。

  • 横线连接 (kebab-case) 也是官方推荐的命名规范之一 文档
  • views 下的.vue 文件代表的是一个路由,所以它需要和 component 进行区分(component 都是大写开头)
  • 页面的 url 也都是横线连接的,比如https://www.xxx.admin/export-excel,所以路由对应的view应该要保持统一
  • 没有大小写敏感问题

3 开发过程

  1. 使用 vue-cli 创建项目

  2. 对比之前项目,使用 yarn 添加需要的插件和依赖,推荐使用 yarn 包管理工具,yarn install 时会自动更新相关包,避免报错。详见 使用方法 | Yarn 中文文档

  3. vue.config.js 配置

  4. vuex 模块化配置

  5. mock 服务配置

  6. main.js 中引入库或插件

  7. vue.config.js 中让 scss 变量能够同时在 scss 和 js 中使用、全局引入 jquery

  8. 路由钩子中权限判断

  9. axios封装、api统一管理

  10. 登录页面重构

浅陌初心 / vue3-admin-element相关推荐

  1. vue3 使用Element Plus <script lang=“ts“ setup>加上lang=“ts“后编译错误

    vue3 使用Element Plus <script lang="ts" setup>加上lang="ts"后编译错误 目录 vue3 使用Ele ...

  2. Vue3.x+Element Plus仿制Acro Design简洁模式分页器组件

    Vue3.x+Element Plus仿制Acro Design简洁模式分页器组件 开发中难免会遇到宽度很窄的列表需要使用分页器的情况,这时若使用Element Plus组件的分页器会导致分页器内容超 ...

  3. vue3+ts+element封装一个简易的curd

    vue3+ts+element封装一个简易的curd 闲来无趣做一个简单的table封装,不喜勿喷 首先创建一个公共的Table.vue/pagination.vue文件 Table.vue < ...

  4. Vue3和element plus 中ref用法元素实例操作

    在 vue3 中,组件的逻辑可以放在 setup 函数里面,但是 setup 中不再有 this,所以 vue2 中的 this.$refs 的用法在 vue3 中无法使用. 用法是: element ...

  5. vue3 admin 后台管理项目小计

    Naive UI全局挂载useDialog.useMessage App.vue <n-config-provider :locale="locale" :date-loca ...

  6. vue3+ts+element 简单的登陆案例 (一)

    第一步 创建vue3项目 项目名字不能使用驼峰命名 创建好项目目录 我们需要引入自己的css文件来重订样式 再index.html 文件夹中引入css html, body, div, span, a ...

  7. Vue3 封装 Element Plus Menu 无限级菜单组件【建议收藏】

    本文分别使用 SFC(模板方式)和 tsx 方式对 Element Plus el-menu 组件进行二次封装,实现配置化的菜单,有了配置化的菜单,后续便可以根据路由动态渲染菜单. 1 数据结构定义 ...

  8. 基于Vue3,Element Plus的一款表单设计器,支持生成Element和Antd样式的表单

    简介 FormMaking v3 是基于 Vue 3.x 和 Element Plus 开发的可视化/低代码表单设计器,可以生成 Element 和 Antd 样式的表单. FormMaking 目前 ...

  9. vue3 使用element表格导出excel表格(带图片)

    如想要实现导出功能,并且可以导出图片,如下图效果: 下面直接上步骤: 下载安装插件: 安装命令:npm install js-table2excel 引入插件: import table2excel ...

最新文章

  1. AndroidStudio 新建不同的Drawable文件夹
  2. 简述神经网络的训练过程?
  3. 07/11/13 资料整理
  4. mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
  5. gsu 2524 Frozen Rose-Heads
  6. .NET Core第三方开源Web框架YOYOFx
  7. jzoj5057-[GDSOI2017模拟4.13]炮塔【网络流,最大权闭合图】
  8. JS判断客户端是手机还是PC的2个代码
  9. git命令提交本地代码到远程仓库
  10. 图片计算景深matlab程序,在线景深计算器
  11. 用 Python 分析某医院药品销售案例!
  12. c语言编程 if怎么用,C语言编程入门——if的用法
  13. Linux权限的理解
  14. 2022年07月数据库排行榜
  15. 内部存储空间 手机存储空间 sd卡
  16. [A001]兄弟连3天学会php
  17. 山寨山寨版手机安全卫士源码项目
  18. 关于Petalinux自启问题
  19. VM 虚拟机挂起之后,关闭虚拟机,第二天重启之后,连接不上 。静态ip设置
  20. c++游戏小技巧2:存读档

热门文章

  1. Adobe Acrobat XI Pro 11.x 安装指南
  2. 【软件技巧】Transmission跳过检验(跳检)方法,适用于全平台
  3. 干货 | CoAP协议例析
  4. CentOS-7部署安装Zabbix 3.0
  5. codeMirror使用记录
  6. windows常见开机报错码以及解决方法
  7. clipboard剪切板
  8. MySQL varchar类型可以存储多少个汉字
  9. centos 之网络配置
  10. RocketMQ5.0.0事务消息