- 技术支持:该项目基于
react
,由xiongsongsong
创建于2019
年12
月9
日。 - 前后端分离情况:
- 前后端分离开发;
- 静态资源由
前端
上线; - 域名由
前端
申请。
- 项目说明:***
- React
- React Router
- axios
- postcss-pxtorem自动将px转成rem,计算规则为: 750px设计稿 -----> 7.5rem
- Commitizen规范git commit
- Redux可配置
- TypeScript支持,
ts
文件可直接引入使用
-
ts
支持 -
webpack
的html
压缩插件更新
- 线上域名:https://**.*.com
- 预发域名:https://**.*.com
- 代码库地址:https://**.*.com
- 上线地址:https://**.*.com
- 页面1:https://**.*.com
$ npm install # 安装依赖 或者 yarn install
$ npm run serve # 运行项目(本地开发) 或者 npm start
$ npm run build:prod # 生产环境打包
$ npm run build:dev # 预发环境打包
npm install
(安装package.json下项目依赖);npm run serve
(安装成功后启动项目);- 项目在本地
localhost:8008
端口运行。
- 配置host:127.0.0.1 dev.*.com
- 配置devServer的proxy,配置路径为:vue.config.js -> devServer -> proxy
注意:提交代码时请使用commitzen,否则commit message不符合规范无法提交,具体参考:https://juejin.im/post/5bd2debfe51d457abc710b57
- 从Master新建分支开发,每次上预发或上线之前,都需要拉取远端master代码,保证本地master代码为最新,合并master代码;
- 上线前:切换到本地master分支,合并开发分支代码到本地master分支;
npm run build:prod
打包代码。检查deploy/index.html中是否为线上域名( '//api.m.jd.com/api');- 提交代码至master远程;
- 在jdos的**应用下,进行master的编译镜像;
- 在预发分支上先上线编译好的镜像,没有问题后,准备正式环境上线;
- 在正式环境上线,执行滚动更新,每次1个,间隔40秒(防止线上更新代码期间无法访问);
- 结束后进行上线确认,否则会影响团队其他成员的上线。
- 在开发分支上执行
npm run build:dev
打包代码; - 提交代码至分支远程;
- 在jdos的**应用下,进行开发分支a的编译镜像,上预发。
├── deploy # 打包后生成的文件
├── node_modules # 安装的依赖
├── public # 静态资源文件夹
└── src
├── App.jsx || App.ts # 整体应用
├── App.scss # 全局样式
├── index.ts || index.js # 应用入口文件
├── api # 接口
├── assets # 项目依赖的一些静态资源
├── components # 公共组件
├── router # vue-router
├── styles # 公共样式
├── pages # 页面视图组件
├── pageA # 页面A
├── components # 页面A中使用的组件
├── api.js # 页面A中使用的api接口
├── components # 页面A中使用的组件
├── mock.js # 页面A中使用mock数据
├── .babelrc # babelh转码配置文件
├── .browserslistrc # 在不同的前端工具间共享目标浏览器
├── .editorconfig # 统一编辑器代码风格
├── .eslintrc.js # 代码检查配置文件
├── .gitignore # git忽略文件
├── package.json # npm包描述文件
├── package-lock.json # 记录当前状态下实际安装的各个npm package的具体来源和版本号
├── yarn.lock # 使用yarn时记录当前状态下实际安装的各个npm package的具体来源和版本号
├── postcss.config.js # css转换规则
├── tsconfig.json # TypeScript配置规则文件
├── README.md # 项目说明
- 2019.6.10上线1.0.0版本,---首次上线,***等基础功能
- 2019.7.13上线1.0.1版本,---修复 *bug,增加 *功能
- 上线出问题后,及时用上一个镜像资源重新上线,不要回滚。
- 上线与上预发的打包指令存在区别。
- 全局安装commitzen提交代码,规范git commit message,具体参考:https://juejin.im/post/5bd2debfe51d457abc710b57
本模板主要针对移动端开发,采用rem作为尺寸单位,为此使用postcss插件,自动将px转换成rem,同时根据屏幕宽度自动计算根字体大小。
如果想要开发PC页面则需要将上述特性移除:
- 移除postcss的pxtorem插件,配置路径为:postcss.config.js -> postcss-pxtorem
- 移除对根字体大小的计算,配置路径为:main.js -> rem
全局安装commitzen提交代码,规范git commit message,具体参考:https://juejin.im/post/5bd2debfe51d457abc710b57
代码规范标准为standard
,建议使用prettier
格式化代码,代码编辑使用VS Code
,安装prettier
扩展,shift + alt + f
格式化代码。也可以运行 npm run lint
修复不符合规范的代码。
注意:书写的代码不符合规范将无法提交代码。