lion-ui 是一个基于 RBAC 的管理系统前端项目,采用 vue 和 element-ui 前端技术栈,实现了登陆权限验证,根据权限动态生成菜单等功能。使用 vue-cli4.x 初始化项目。
开发时采用 fastmock 来进行模拟请求数据。css
暂时前端项目只有master分支,数据都是mock的,有基本轮廓,可clone下来快速开发。根据需求调整。后端系统将搭配 netcore3.1 敬请期待html
github代码地址vue
gitee代码地址webpack
我的域名文档教程
文档教程git
博客园文档
文档教程es6
该系列文章涉及到如下几个知识点,请先熟悉相关文档github
目前版本基于
webpack 4.0+
和vue-cli 4.x
版本构建,须要 Node.js 8.9 或更高版本(该项目使用的是 12.18.1),相关知识能够自行进官网进行了解. 如有多个 node 版本,可使用 nvm来进行管理web
安装打包工具 webpack
,-g 表示全局安装。
npm install webpack -g
安装 vue 脚手架项目初始化工具 vue-cli
,-g 表示全局安装。
若是你以前都是基于 vue-cli2.X,你须要先卸载它:
#如有,则先卸载vue-cli npm uninstall -g vue-cli #安装cli4.x npm i -g @vue/cli #或者 vue -V 查看版本是否为4.x vue --version
Vue CLI >= 3 和旧版使用了相同的 vue 命令,因此 Vue CLI 2 (vue-cli) 被覆盖了。若是你仍是想继续使用 2.x 搭建项目,你能够全局安装一个桥接工具:
npm install -g @vue/cli-init # 而后你就能够继续使用vue init了 npm init webpack my-project
有时候 npm 的下载速度比较感人,建议设置淘宝镜像
npm config set registry=http://registry.npm.taobao.org -g #配置后可经过下面方式来验证是否成功 : npm config get registry
tips:适用于开发单页面宣传,库,组件等使用。
使用 vue serve
和 vue build
命令对单个 *.vue
文件进行快速原型开发,
前提是得安装一个额外的全局扩展: npm install -g @vue/cli-service-global
在一个空的文件夹中,新建一个 .vue
文件,执行下面命令就能看到效果
#启动服务 vue serve test.vue #打包出生产环境的包 vue build test.vue
vue create lion-ui
点击回车后,就会有各类选项,须要进行选择,步骤以及个人选项以下:
两个选择,经过上下键操做:
default (babel, eslint)
默认配置 提供 babel 和 eslint 支持Manually select features
本身手动去选择须要的配置这里选择的是手动去配置的选项。而后须要哪一个选项就在哪一个选项上按 空格,就能选中/取消。
每一项的功能,作一下简单阐述:
Babel
主要是对 es6 语法转换成兼容的 js (选上)TypeScript
支持使用 TypeScript 语法来编写代码PWA
PWA 支持Router
支持 vue 路由配置插件(通常都会选择)Vuex
支持 vue 程序状态管理模式 (通常都会选择)CSS Pre-processors
支持 css 预处理器 (通常都会选择)Linter / Formatter
支持代码风格检查和格式化 (选上)Unit Testing
单元测试E2E Testing
E2E 测试
通常通用的选择以下:
当选择完成后,点击回车,会对每一个配置进行我的须要的配置操做,
当前操做配置以下:
ESlint + Prettier
。Lint on save
。根据提示,执行指令 cd project
而后执行命令npm run serve
启动项目。
发布项目为 npm run build
当须要自定义 webpack 相关配置的时候,须要在项目根目录中建立vue.config.js
文件,它会被@vue/cli-server
自动加载,
相关配置内容官网将的很详细,能够点击查看
整个项目的目录结构:
├── public # 静态资源 │ ├── favicon.ico # favicon图标 │ └── index.html # html模板 ├── src # 源代码 │ ├── api # 全部请求 │ │ └── modules # 请求接口的各个模块 │ ├── assets # 图片、字体等静态资源 │ │ ├──img # 图片静态资源 │ │ └──styles # 全局样式等静态资源 │ ├── components # 全局公用组件 │ ├── layout # 页面总体布局盒子 │ ├── plugins # 全局插件部分 │ ├── router # 路由 │ ├── store # 全局store管理 │ │ └── modules # 各个模块状态管理 │ ├── utils # 全局公用方法 │ ├── views # views全部页面 │ ├── App.vue # 入口页面 │ ├── main.js # 入口文件 加载组件 初始化等 ├── .borwserslistrc # 浏览器兼容相关 ├── .env.xxx # 环境变量配置 ├── .eslintrc.js # eslint 配置项 ├── .gitignore # git忽略文件设置 ├── .babel.config.js # babel-loader 配置 ├── package.json # package.json └── vue.config.js # vue-cli 配置