专注于前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]

sublime利用ClosureCompiler和YUICompressor本地压缩

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, 里面有快速搭建说明.

/ 分类: 工具,实践 / TrackBackhttps://lb-dm-lax-spro.xhl.me/archives/sublime-assets-compressor/trackback标签: sublime

仅有1条评论 »

  1. susan susan

    すごい!厉害...

添加新评论 »