首页 > 技术文章 > [日常] 当前项目前端版本管理的情况

taoshihan 2019-10-18 17:25 原文

1.线上环境静态文件存放于前端CDN静态池,有一个专门的发布系统可以上传文件.在发布文件的时候需要创建url路径,因为CDN的缓存原因,在路径中增加了版本号,最终结果的url类似这种//n.sinaimg.cn/mail/sinamail66/js/139276/xxx.js

2.线上环境的版本管理工具是SVN,里面存放的是压缩前的js文件和压缩后的min版js文件,每次上线前先提交svn,得到版本号后,放在在静态池的路径中作为版本号

3.开发环境的代码目录结构是
.cache存放的是合并工具合并后的各项目代码,以及直接绑定host后重写到php文件后合并的js代码
build 存放的是合并工具和压缩工具
classic 作用未知
docs 存放的是一个apache的vhost配置文件,可以直接在apache中引用这个文件,作用就是当绑定本地host后,访问路径重写到某php文件
html 作用未知
js 主要的js框架业务逻辑代码
products 主要js业务的模板文件
skins 换肤所用的代码
webface url路径中带webface的对应代码目录

4.开发流程:
绑定域名到本地127.0.0.1的host,并且要开启apache服务,加载好vhost的配置文件.vhost配置文件中有重写规则会把路径请求重写到一个php文件,php文件实时去合并js框架的代码,把合并后的代码放到了.cache目录下

等功能开发完成后,通过build目录里的合并工具进行合并js框架的代码,合并后的代码也存放在.cache目录里了.使用文本比较工具,比较.cache目录里的js文件和线上环境svn版本库下的js文件,合并想要上线的代码.使用build目录里的压缩工具,压缩线上代码成min版.把压缩后的代码上传到静态池中

5.遇到的问题是,没有办法从线上压缩后的代码逆推到开发前的js框架代码.当遇到问题要进行修改时,只能从html部分开始查找,找html的结构,在模板目录中进行全局搜索,找到对应的模板名,在js框架中进行搜索,找对应的控制器类和对应的数据model代码.

因为三套项目共用代码的原因,免费项目中的代码与企邮线上代码有非常大的不同,文本工具比较合并代码时要特别注意

推荐阅读