热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue项目实战之人力资源平台系统(一)框架介绍及项目环境搭建

前言目录前言一、vue-element-admin简介二、项目环境搭建2.1nodejs环境2.2git版本控制2.3vscode编辑器三、拉取vue-element-admin基
前言

目录

  • 前言
  • 一、vue-element-admin简介
  • 二、项目环境搭建
    • 2.1 nodejs环境
    • 2.2 git版本控制
    • 2.3 vscode编辑器
  • 三、拉取vue-element-admin基础模板作为项目模板
    • 3.1 git拉取基础项目模板
    • 3.2 项目目录解析
    • 3.3 项目代码解析-main.js
    • 3.3 项目代码解析-App.vue
    • 3.4 项目代码解析-permission.js和settings.js
    • 3.5 项目代码解析-Vuex
    • 3.6 项目代码解析-scss
    • 3.7 项目代码解析-icons
  • 四、API模块和请求封装模块介绍
  • 五、建立远程Git仓库并上传项目代码
    • 5.1 建立远程仓库
    • 5.2 本地项目提交
    • 5.3 推送到远程仓库
  • 六、公共资源图片和统一样式
  • 总结


一、vue-element-admin简介

vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现
它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件
它可以帮助我们快速搭建企业级中后台产品原型。官网: https://panjiachen.gitee.io/vue-element-admin-site/zh/作为开发人员,我们主要使用它提供的基础模板,包含了基本的 登录 / 鉴权 / 主页布局 的一些基础功能模板
我们可以直接在该模板上进行功能的扩展和项目的二次开发

二、项目环境搭建

2.1 nodejs环境

nodejs是当下前端工程化开发必不可少的环境, 使用nodejs的npm功能来管理依赖包查看node和npm的版本:$ node -v #查看node版本
$ npm -v #查看npm版本将npm设置成国内的淘宝镜像以提高下载速度:$ npm config set registry https://registry.npm.taobao.org/ #设置淘宝镜像地址
$ npm config get registry #查看镜像地址

2.2 git版本控制

git版本控制工具是目前最为流行的分布式版本管理工具,代码的提交, 检出, 日志, 都需要通过git完成查看git安装版本:$ git --version #查看git安装版本

2.3 vscode编辑器

vscode编辑器是目前前端开发的编码利器, 以及丰富的插件系统,非常适合开发前端项目通过vscode编辑器安装插件:vetur + eslint
vetur是基于单文件组件开发的支持插件, eslint是基于代码校验的插件工具除此之外, eslint需要在vscode中进行一些参数的配置:{"eslint.enable": true,"eslint.run": "onType","eslint.options": {"extensions": [".js",".vue",".jsx",".tsx"]},"editor.codeActionsOnSave": {"source.fixAll.eslint": true}
}

三、拉取vue-element-admin基础模板作为项目模板

3.1 git拉取基础项目模板

$ git clone https://github.com/PanJiaChen/vue-admin-template.git hrsaas #拉取基础模板到hrsaas目录
$ npm install #定位到项目目录下执行,安装依赖
$ npm run dev #启动项目
若项目能正常启动则可进行下一步

3.2 项目目录解析

通过下载基础模板,我们已经得到了一个基本的开发框架,下面是整个项目的目录结构:

├── build # 构建相关
├── mock # 项目mock 模拟数据
├── public # 静态资源
│ │── favicon.ico # favicon图标
│ └── index.html # html模板
├── src # 源代码
│ ├── api # 所有请求
│ ├── assets # 主题 字体等静态资源
│ ├── components # 全局公用组件
│ ├── icons # 项目所有 svg icons
│ ├── layout # 全局 layout
│ ├── router # 路由
│ ├── store # 全局 store管理
│ ├── styles # 全局样式
│ ├── utils # 全局公用方法
│ ├── vendor # 公用vendor
│ ├── views # views 所有页面
│ ├── App.vue # 入口页面
│ ├── main.js # 入口文件 加载组件 初始化等
│ └── permission.js # 权限管理
│ └── settings.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

当我们开发项目时,最关注的就是src目录, 里面是所有的源代码和资源, 至于其他目录, 都是对项目的环境和工具的配置

3.3 项目代码解析-main.js

main.js作为整个项目的入口文件,它的作用如下图所示:
在这里插入图片描述

同时,main.js中还提供了模拟数据配置,在我们开发时是用不到的,所以要注释掉,具体操作如下:

注释掉main.js中mock数据的部分,删除src下的mock文件夹
同时,注释掉vue.config.js中的 before: require('./mock/mock-server.js')

3.3 项目代码解析-App.vue

App.vue作为根组件,它的作用如下图所示:
在这里插入图片描述

3.4 项目代码解析-permission.js和settings.js

permission.js 是控制页面登录权限的文件,这里使用了router的导航守卫
settings.js则是对于一些项目信息的配置,里面有三个属性 title(项目名称),fixedHeader(固定头部),sidebarLogo(显示左侧菜单logo)

3.5 项目代码解析-Vuex

当前项目的Vuex结构采用了模块形式进行管理共享状态,其架构如下:
在这里插入图片描述

其中app.js模块和settings.js模块,功能已经完备,不需要再进行修改。
user.js模块是我们后期需要重点开发的内容,所以这里我们将user.js里面的内容删除,并且导出一个默认配置:

export default {namespaced: true,state: {},mutations: {},actions: {}
}

同时,由于getters中引用了user中的状态,所以我们将getters中的状态改为:

const getters = {sidebar: state => state.app.sidebar,device: state => state.app.device
}
export default getters

3.6 项目代码解析-scss

当前项目还使用了scss作为css的扩展语言,在styles目录下,我们可以发现scss的相关文件,结构如下:
在这里插入图片描述

3.7 项目代码解析-icons

icons的作用是注册一个Vue组件,将svg目录下的所有的.svg后缀的文件全都引入到项目中

四、API模块和请求封装模块介绍

通过目录解析我们知道,API模块的作用是封装所有请求,按照模块进行划分,统一管理
以user.js模块为例:

import request from '@/utils/request'export function login(data) {return request({url: '/vue-admin-template/user/login',method: 'post',data})
}export function getInfo(token) {return request({url: '/vue-admin-template/user/info',method: 'get',params: { token }})
}

上面代码中,使用了封装的request工具,每个接口的请求都单独导出了一个方法,这样做的好处就是,任何位置需要请求的话,可以直接引用我们导出的请求方法
为了后续更好的开发,我们可以先将user.js代码的方法设置为空,后续在进行更正

request工具的作用是封装axios
axios定义在utils/request.js中,首先通过create创建了一个新的axios实例,然后使用axios的拦截器进行开发:

// 导出一个axios的实例 而且这个实例要有请求拦截器 响应拦截器
import axios from 'axios'
const service = axios.create() // 创建一个axios的实例
service.interceptors.request.use() // 请求拦截器
service.interceptors.response.use() // 响应拦截器
export default service // 导出axios实例

五、建立远程Git仓库并上传项目代码

5.1 建立远程仓库

可使用Github或码云建立远程仓库

5.2 本地项目提交

$ git init #初始化项目
$ git add . #将修改添加到暂存
$ git commit -m 'first commit' #将暂存提到本地仓库
$ git log #查看版本日志

5.3 推送到远程仓库

$ git remote add origin <远程仓库地址> #添加远程仓库地址
$ git remote -v #查看本地仓库的远程仓库地址映射
$ git push -u origin master #将master分支推送到origin所代表的远程仓库地址

六、公共资源图片和统一样式

项目开发用到的图片资源放置到 src/assets目录即可样式资源要放置到styles目录下&#xff0c;然后在index.scss中引入该样式&#64;import &#39;./common.scss&#39;; //引入common.scss样式表

总结

今天又开始开发新的项目&#xff0c;这个项目利用vue-element-admin基础模板进行二次开发&#xff0c;大大提高了开发效率


推荐阅读
  • 本文介绍了 Vue 开发的入门指南,重点讲解了开发环境的配置与项目的基本搭建。推荐使用 WebStorm 作为 IDE,其下载地址为 。安装时请选择适合您操作系统的版本,并通过 获取激活码。WebStorm 是前端开发者的理想选择,提供了丰富的功能和强大的代码编辑能力。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 深入解析C#中app.config文件的配置与修改方法
    在C#开发过程中,经常需要对系统的配置文件进行读写操作,如系统初始化参数的修改或运行时参数的更新。本文将详细介绍如何在C#中正确配置和修改app.config文件,包括其结构、常见用法以及最佳实践。此外,还将探讨exe.config文件的生成机制及其在不同环境下的应用,帮助开发者更好地管理和维护应用程序的配置信息。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
author-avatar
陈民翔芷昌柏淑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有