赞
踩
项目发版过程中,前端参与的工作微乎其微,主要是运维或后端来做。但很多前端小伙伴不知道整个发版流程是什么样子的,这里给大家稍微普及一下,
公司开发项目时,一般分为三到四个环境,不同的环境往往对应不同的项目分支
注意:
我们知道每个环境看到的数据是不一样的,说白了 每个环境请求的接口地址是不一样的。所以在发布项目前一定先把每个环境的接口地址配置好
.env.development
VUE_APP_BASE_URL = '开发环境的接口地址'
.env.staging
VUE_APP_BASE_URL = '测试环境的接口地址'
.env.preproduction
VUE_APP_BASE_URL = '预发布环境的接口地址'
.env.production
VUE_APP_BASE_URL = '生产环境的接口地址'
package.json
注意:
--mode 参数的意思时,打包时读取哪个环境变量文件
scripts下的serve和build命令 可以省略 --mode 参数,因为这两个命令会自动读取 .env.development 和 .env.production 这两个环境变量文件
环境变量已经配置好了,在发送ajax请求时,也要动态的去读取不同的接口地址
通过 process.env.VUE_APP_BASE_URL
(不同的项目读取环境变量的语法是不一样的,这里只侧重于流程,不侧重与语法)
utils/request.js
配置完成后:
当你处于开发环境时,执行 npm run serve 读取的环境变量文件是.env.development,这样读取的接口地址就是 开发环境的接口地址
当你处于测试环境时,执行npm run test 读取的环境变量文件是.env.staging,这样读取的接口地址就是测试环境的接口地址
...
把publicPath改成相对目录,这样上线时,不管后端把前端项目放到服务器的哪个目录下都不会有问题
./相对路径查找资源
/绝对路径查找资源
发布上线 又有两种发布方式 手动发布 (不常用,需要了解) 和 自动发布(常用)
区别:手动发布和自动发布的区别就是 前端打包是手动和自动的区分
公司一般都有搭建好的自动发布环境,常用的有jenkins和k8s,这两种工具都是用来自动化部署项目的
前提:要想自动化部署项目,前端需要把package.json中配置的各个环境的打包命令以及分支告诉运维,他们需要配置
流程:
Vue项目支持两种路由模式 hash 和 history
上线时一般都会切换成 history模式 ,因为这种路径比较好看
注意: 如果切换成history模式的话,后端一定需要进行对应的配置,否则会出现刷新404的情况
后端解决方案 HTML5 history模式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。