一直想把项目中的js和css压缩下,今天终于搞定了。
先说说几个注意的问题,目标影响着你对应的解决办法:
1.压缩后的文件,是否要直接覆盖旧的文件
2. 单个压缩文件重命名,还是整个目录换个名字,同时文件名称不变
3. 部署访问和切换问题
4.压缩后的,是否要上传到git等远程仓库里
比如
C:/js
a.js,a.css
方式一,直接覆盖,目录和文件名称,都不变化。
方式二,不覆盖,仍然在同一个目录下。
C:/js/a.min.js
方式三,换个目录,同名
C:/js2/a.js
------------------------------
开发过程中,可能习惯用 未压缩的,上线后希望用压缩的。
写这篇文章,真的很让人纠结,因为感觉场景太多了,想着好累。
------------------------------
压缩工具和方式有很多中:
方式一:使用yuicompress。可以用命令行的方式,比如java、nodejs等。
方式二:使用tbcompress,据说是淘宝根据yuicompress改造的。
方式三:直接用源码,在java程序中控制压缩的。
------------------------------
最后说说自己目前的方式:
1.本地Java项目中,有个压缩工具类。
把a目录下的所有css和js文件,压缩后,放到b目录下
2.a和b都被提交到git上
3.静态资源url是可变的。
frontStaticUrl=http://a.com:80/a
可以改成
frontStaticUrl=http://a.com:80/b
就实现了 原始文件和压缩版的切换
------------------------------
以上方式,不好的地方。
1.原始文件变化了,压缩文件也要再生成一次。
当然为了简单,只有在确定需要部署上线的时候,再执行压缩,提交到git上。
2.由于是程序的方式,对执行环境有了更高的要求。
比如,另外一个项目或者非java项目,也想进行压缩,就搞不定了。
------------------------------
武汉九天鸟-武汉领先的移动互联网系统开发商
九天鸟问答-http://ask.jiutianniao.com
九天鸟博客-http://blog.jiutianniao.com
九天鸟官网-建设中,敬请期待