0

sublime利用ClosureCompiler和YUICompressor本地压缩

Posted by 晴云孤魂 on 2014 年 01 月 01 日 in Literary corner |

server端基本靠nodejs来压缩了, 本地也可能因为特殊需求而需要直接压缩js/css, 不同的系统node的兼容不算好, 不好配置统一的环境, 而且有些人也用不到到node. 所以想到了利用基于java的ClosureCompiler和YUICompressor(下面简称CC和YUI).

写了2个ST的build tool, 源码:
https://github.com/kairyou/sublimeGoogleClosureCompiler
https://github.com/kairyou/SublimeYUICompressor
在ST2/ST3(Windows/Mac)下面测试通过, Linux应该也能跑.
如果有语法错误可以直接双击console面板的错误行, 就会跳到源文件的对应行.
直接git clone或下载到ST插件目录就可以了.
使用时在ST的tool-build system选择CC或YUI后, ctrl+b直接压缩(推荐js使用CC压缩, css使用YUI压缩).

因为之前用editplus和vim时, 用到了淘宝压缩的cmd, 所以写cmd时copy了大部分代码, 节约了很多时间, 感谢.
开发中也遇到几个蛋疼的问题, 花了不少功夫才解决了这些问题:
sublime的build system设计的不够好, 如果console面板错误行没输出文件的绝对路径, 双击错误行不会跳转.
YUI的输出错误不带路径, 所以需要自己再包一层cmd/bash脚本, 捕获输出并加上文件路径再返回给ST.
而且YUI返回错误时还附带了一堆java信息, 需要过滤掉.
另外, Windows下面cmd捕获/修改输出太弱了, 不得不写个hack来存放输出再读取再修改. 有兴趣的可以对比下SublimeYUICompressor/bin下面的cmd和sh文件就明白了.

另外Windows下面要有%JAVA_HOME%的环境变量, 如果没有需要装JDK, 请查看https://github.com/kairyou/JDK, 里面有快速搭建说明.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

使用腾讯微博登陆

Copyright © 2011-2017 晴云孤魂's Blog All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.2.2, from BuyNowShop.com.

普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress