• 【前端优化】使用YUI Compressor压缩JS和Css,批处理,右键,注册表,打包


    对于大量使用JavaScript和CSS的AJAX应用来说,如果JavaScript和CSS大小很大,则传输到客户端的时间会很久,网站性能不佳。而压缩JavaScript和CSS是自然的事情(其中YUI Compressor的压缩率大约为50%

    YUI Compressor - The Yahoo! JavaScript and CSS Compressor

    YUI Compressor 压缩 JavaScript 的内容包括:

    1. 移除注释
    2. 移除额外的空格
    3. 细微优化
    4. 标识符替换(Identifier Replacement)


    Download 下载地址 : http://yuilibrary.com/downloads/#yuicompressor
    The YUI Compressor requires Java version >= 1.4. (机器需要Java 1.4以上的环境)所以需先下载JDK,配置环境。

    ---------------------------------------------华丽分割线---------------------------------------

    一、Java环境配置

    JDK环境变量配置的步骤如下:
    1.我的电脑-->属性-->高级-->环境变量.
    2.配置用户变量:
            a.新建 JAVA_HOME
                 C:\Program Files\Java\j2sdk1.5.0 (JDK的安装路径)
            b.新建 PATH
                 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
            c.新建 CLASSPATH
                .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
    3.测试环境变量配置是否成功:
       开始-->运行--〉CMD
       键盘敲入: JAVAC
            出现相应的命令,而不是出错信息,即表示配置成功!

    ---------------------------------------------华丽分割线---------------------------------------

    二、使用YUI Compressor压缩JS和Css

    常用示例(在cmd中执行)

     java -jar D:\yuicompressor-2.4.6\build\yuicompressor-2.4.6.jar --type js --charset UTF-8 D:\my.js -o D:\my-min.js 
    
     java -jar D:\yuicompressor-2.4.6\build\yuicompressor-2.4.6.jar --type css --charset UTF-8 D:\my.css -o D:\my-min.css 
    

    –type指定要打包的文件类型,可选的有 js和css
    –charset 指定字符集
    -o 指定输出的文件名,如果不指定这个参数将会把压缩后的内容输出到命令行上
    最后的my.js和my.css是要打包的debug版源文件

    如果没有给定charset参数,则字符集默认是系统的,此处指定了UTF-8,更加你的实际需要修改。具体语法和其他参数参考:http://www.julienlecomte.net/yuicompressor/

    使用YUI Compressor和DOS批处理脚本压缩JavaScript和CSS,加上IIS的GZIP,加起来能得到85%左右的压缩率。(其中YUI Compressor的压缩率大约为50%)也可以修改参数获得更多的压缩率。

    ---------------------------------------------华丽分割线---------------------------------------

    三、制作批处理工具

    三个文件:
    批处理文件:yuicompressor.bat
    注册表文件:yuicompressor.reg
    压缩jar包:yuicompressor-2.4.6.jar

    文件目录:D:\server\f2etools\yuicompressor

    yuicompressor.bat批处理使用方法:
    对整个文件夹右键点击【YUI-Compressor JS/CSS】批量压缩操作生成-min.css或-min.js,源文件不变,项目平时开发时引用源文件,上线前引用压缩文件测试正常后再上线。

    yuicompressor.bat批处理文件代码:

    复制代码
    cd "%1"
    for /f %%a in ('dir /b *-min.js') do call:ProcessDel: %%a
    for /f %%a in ('dir /b *-min.css') do call:ProcessDel: %%a
    for /f %%a in ('dir /b *.js') do call:ProcessCompress: %%a
    for /f %%a in ('dir /b *.css') do call:ProcessCompress: %%a


    :ProcessDel

    IF NOT [%1]==[] call:DeleteMinFiles%1

    GOTO:EOF

    :ProcessCompress

    IF NOT [%1]==[] call:CompressFiles%1

    GOTO:EOF

    :DeleteMinFiles

    IF EXIST "%CD%\%1" del "%CD%\%1"

    GOTO:EOF

    :CompressFiles

    java -jar D:
    \server\f2etools\yuicompressor\yuicompressor-2.4.6.jar %1 -o %~n1-min%~x1

    GOTO:EOF
    复制代码


    yuicompressor.reg注册表功能:选中文件夹后,右键,会多一个选项【YUI-Compressor JS/CSS
    yuicompressor.reg注册表文件代码:

    复制代码
    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\Directory\shell\Compress JS
    /CSS Files]
    @
    ="YUI-Compressor JS/CSS"

    [HKEY_CLASSES_ROOT\Directory\shell\Compress JS
    /CSS Files\command]
    @
    ="D:\\server\\f2etools\\yuicompressor\\yuicompressor.bat %1"
    复制代码


    下载地址:http://heiniu.me/tools/yuicompressor.rar

    注意事项:请修改两个文件中的目录路径
    批处理文件:yuicompressor.bat和注册表文件:yuicompressor.reg

    ---------------------------------------------华丽分割线---------------------------------------

    四、打包压缩pack-all-min.js

    文件如下:
    批处理文件:pack-js.bat
    需要打包的目录文件:pack-list.txt

    pack-js.bat 代码:

    for /f %%i in (packList.txt) do type %%i >> pack-all.js

    java -jar D:
    \server\f2etools\yuicompressor\yuicompressor-2.4.6.jar --type js --charset utf-8 pack-all.js -o pack-all-min.js

    pack-list.txt

    jquery.ui.datepicker.js
    jquery
    .ui.dialog.js
    jquery
    .ui.draggable.js
    jquery
    .ui.mouse.js

    使用方法:
    在当前js文件夹里放入这两个文件,平时开发用多个源文件,运行pack-js.bat后查看页面效果,上线前打包成一个压缩文件,测试无误后再上线。

  • 相关阅读:
    mac搭建mamp环境
    iOS开发UI篇—UITabBarController生命周期(使用storyoard搭建)
    iOS开发UI篇—UITabBarController简单介绍
    OS开发UI篇—ios应用数据存储方式(归档)
    iOS开发UI篇—ios应用数据存储方式(偏好设置)
    IOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)
    iOS开发UI篇—控制器的View的创建
    iOS开发UI篇—UIWindow简单介绍
    iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期
    IOS开发UI篇—导航控制器属性和基本使用
  • 原文地址:https://www.cnblogs.com/sniper007/p/2566102.html
Copyright © 2020-2023  润新知