# 人资项目
**Repository Path**: mrtao150/human-resource-projects
## Basic Information
- **Project Name**: 人资项目
- **Description**: 已经不太记得是第几个人资项目仓库了
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-11-25
- **Last Updated**: 2023-11-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 1. 项目启动
从公司的仓库拉取了代码以后,怎么样下载依赖?
看仓库里面有没有lock文件
如果同事是用 yarn下载的,那么项目里面就有 yarn.lock文件
如果同事是用 npm 下载的,那么项目里面就有 package-lock.json
我们自己下载的时候尽量和他们保持一致。 安装之前先问一下同事的nodejs版本
我们这个项目,尽量使用16.x的版本
yarn 下载依赖,会安装的快一些
如果下载了新的nodejs, 那么就要去修改 .npmrc .yarnrc 换成国内的源地址
npm i yarn -g 全局安装一个 yarn工具
然后在 安装项目的依赖,重启vscode
nodejs安装目录 不能写中文
## 2. mock数据
前端开发完了页面以后,后端的接口还没有写完,这个时候前端就可以使用mock这个 是一个库,可以模拟后端自己写一些请求,等后端接口写完以后,直接替换后端接口即可
## 3. 图标的引入方式
1. element-ui 自带的
2. font-awesome的图标
```
官网地址: https://fontawesome.dashgame.com/
下包之前,去npm 官网搜一下包名,看看npm上面有没有这个包
npm install font-awesome --save 下载, 默认下载的是 4.x版本
导入
import 'font-awesome/css/font-awesome.min.css'
使用
如果公司利用的是 5.x+的版本
就不是fa类名, 换成了 fas的类名
```
3. 阿里的矢量图标库
```
https://www.iconfont.cn/
去官网选择几个图标加入购物车,添加到项目里面去,然后在下载
下载完以后,将iconfont.css 复制到 项目里面的styles文件夹里面去
将ttf woff woff2 三个文件 复制到assets里面的fonts文件夹里面去
修改iconfont.css里面的ttf等的路径
在组件中使用
注意点:阿里的图标库是多个人写的,风格不统一,工作里面一般是公司自己的ui画,如果个人项目,那么就可以使用阿里的图标库
缺点: 不好添加新图标,要将所有逇字体文件 替换在生成新的,比较繁琐,要是中途换账号了,那么旧图标就会找不到,不利于项目维护
```
4. svg
工作里面我一般用的是svg,最大的好处就是 可以快递增加和修改一些图标,让公司的ui同事快速绘制给我。 比上面的阿里矢量图标库方便,阿里的每次都要重新下载新的ttf woff woff2。
svg在vue里面结合自定义组件,方便开发
核心就是 svg-sprite-loader这个webpakc插件,专门用来转换svg模块
## 4. git的基本使用
```
.git 是本地仓库
删除它,自己在用 git init 新建一个自己的空仓库
工作区
git add . 跟踪所有文件,将文件加入到暂存区
git commit -m '注释' 加入到本地仓库
git remote add origin https://仓库地址 ---- 将本地仓库和远程仓库建立连接
git push origin master 提交到远程仓库
```
## 5. element表单校验关注的点
1. 就是我们表单里面的字段属性 ---------- 去接口文档看,和后端的参数要一模一样
2. 根据element的form表单校验官网,找rules的例子
## 6. 跨域的问题
1. 默认发请求会有跨域问题,协议+域名+端口 三者有任意一个不一样,就会产生跨域--- CORS
2. 跨域: 是浏览器的自己的安全机制(限制不同域名之间xhr发请求)(正常写script标签 link标签没有口语的说法)
3. 以前的解决方式是,在后端(我们写nodejs的时候)设置 一个包 cors。 现在我们的后端是java写的,我们也没有代码,java那边就是没有写跨域,前端怎么解决?
4. 前端就是用 代理proxy 来解决。前端vue项目,启动起来 npm run serve ---他的底层是webpack里面的一个包 webpack-dev-server,这个包会自动启动一个本地服务器,端口默认是3000, 可以修改
## 7. 开发里面常见的环境
我们平时3个前端 4个后端 UI 测试 等等在一个项目组件里面开发项目
1. 开发环境。我们3个前端,平时写代码的时候,用的是自己的一些git仓库,我是a想看b的代码, b想看c的代码。 这里就有一个开发环境的概念, 我们组长想看a的登录功能,看b的列表功能,看c表单功能。组长直接去开发环境看我们的代码,我们自己也可以去看。 有新的需求写完了就上去看一下效果,有bug就及时改掉, 192.168.1.1:8080 这个地址就是开发
2. 测试环境。1号开发,15号要上线, 定一个时间 10号去测试。测试的通过会有一个单独的地址,一般是后端给他们,比如地址就是 192.168.1.2:9000. 他们边测试,边将一些bug发布到一个jira 禅道 --bug平台。 就将bug指派给前端和后端对应的同学
1. 生产环境。 13号晚上 所有bug都解决完毕以后, uat阶段, 产品经理他会在看一下项目,如果没有bug,他就发邮件,说15晚上 11:00 准时上线, www.baidu.com 我们的前端和后端都会把 修改好的代码,一般都是master分支上的代码,提交打包压缩,发给后端上线。 用户一进入百度,就可以看到我们更新后的页面了。 如果中途有bug,那么就涉及到代码回退,hotfix分支改bug等等。
代码里面的 环境变量---https://cli.vuejs.org/zh/guide/mode-and-env.html
```
npm run dev/serve --- 核心是看 vue-cli-service server 那么就说明当前是开发环境, 默认的NODE_ENV 值就是 'development'。 然后会自动读取文件 .env.development
npm run build ----- 核心是看 vue-cli-service build 那么就说明当前环境是生产环境, 默认的NODE_ENV 值就是 'production' 然后会自动读取文件 .env.production
如果想针对开发和生产环境做一些定制化的配置,
那么可以在 .env.development .env.production 两个文件里面 写同一个变量(必须是VUE_APP_开头)
这样在不同的环境,使用 process.env.VUE_APP_XXXX 得到的值就不一样
代码不动,不同的环境,代码执行的分支不一样。这就是我们环境变量的含义
```
## 8. 代码快照的切换
本地测试用的,公司里面不要用
如果我晚上要写代码,我就想写编辑功能,新增功能不想写
1. 先把老师仓库的完整代码clone下来 git clone https://xxxxxxxx1
2. 去我的网上码云仓库,找 提交的commitid,这个也叫快照 (每次git commit 一下 就会生成一个快照)
3. 使用 **git checkout sssdf3123**(hash值,一般用前7位即可)
4. 然后在接着写自己的代码,但是不要提交。如果想要提交,那么就要删除 `.GIT` 隐藏文件夹
还要一个命令,可以本地查看所有的提交记录以及 hash值,gitk