zoukankan      html  css  js  c++  java
  • VS2010使用yui-compressor打包并压缩JS、CSS

    背景:将自己用VS2010开发的一个项目中的JS、CSS文件按顺序进行打包(bundle)、压缩(compress)。

    前置工作:安装java、下载yuicompressor-2.4.6.jar

    已js进行举例,CSS类推:

    第一步:根据项目中使用js的顺序,将文件列表写入release.bundle,内容如下(相对于release.bundle的路径):

    jquery-1.5.1.js
    MessageAlertmsgbox.js
    jquery.form.js
    application.js

    第二步:制作cmd文件,在VS的启动项目根目录下添加文件:bundle.cmd;文件内容如下:

    @ECHO off
    TITLE  Static Content Compressor And Bundle
    SETLOCAL ENABLEEXTENSIONS
    SETLOCAL ENABLEDELAYEDEXPANSION

    CLS

    FOR /f %%i IN ("%0") DO SET CUR_PATH=%%~dpi

    ECHO Working folder !CUR_PATH:~0,-1!
    ECHO.

    SET FILENAME=""
    SET YUI_COMPRESSOR_PATH="%CUR_PATH%yui-compressoryuicompressor-2.4.6.jar"


    COLOR A
    ECHO %YUI_COMPRESSOR_PATH%
    ECHO compressing static content started
    ECHO.

    ECHO compressing javascripts...
    ECHO.
    CALL:compress_bundle_content Scripts,release.js,release.min.js,release.bundle,js
    ECHO.

    ECHO compressing css...
    ECHO.
    CALL:compress_bundle_content css,release.css,release.min.css,release.bundle,css
    ECHO.

    ECHO compressing static content done
    GOTO:END

    :compress_bundle_content

     CD %~1
     SET FILENAME=%~2
        SET OUTFILENAME=%~3

     FOR /f %%i in (%~4) DO ECHO %%i
           
     ECHO DELETE %~1\%FILENAME% ,%~1\%OUTFILENAME%
         IF EXIST %FILENAME% DEL %FILENAME%
      IF EXIST %OUTFILENAME% DEL %OUTFILENAME%

     FOR /f %%i in (%~4) DO TYPE %%i >> %FILENAME% 
     java -jar  %YUI_COMPRESSOR_PATH% --type %~5 --charset utf-8 -o "%OUTFILENAME%" "!FILENAME!"
     ECHO INTO: %~1\%OUTFILENAME%

     CD ..
    GOTO:END
    :END

    第三步:添加生成事件。启动项目—》属性—》生成事件—》预先生成事件命令行:添加如下内容

    if '$(ConfigurationName)' == 'Release' (
          cd $(ProjectDir)
          bundle.cmd
          )

    第四步:以Release的配置重新生成项目。

    第五步:查看结果。进入release.bundle所在文件间,查看release.min.js即为打包并压缩后的内容。

     附:

    输出窗口出现错误:identifier is a reserved word 

    原因:js文件中含有debugger,去掉即可。

  • 相关阅读:
    Macbook pro从购买服务器到搭建服务器环境(1)
    单元测试踩到的坑
    pycharm中连接公网IP方法
    C++混合编程之idlcpp教程Lua篇(5)
    C++混合编程之idlcpp教程Python篇(4)
    C++混合编程之idlcpp教程Lua篇(4)
    C++混合编程之idlcpp教程Python篇(3)
    C++混合编程之idlcpp教程Lua篇(3)
    C++混合编程之idlcpp教程Python篇(2)
    C++混合编程之idlcpp教程Lua篇(2)
  • 原文地址:https://www.cnblogs.com/webJingGao/p/4226699.html
Copyright © 2011-2022 走看看