首页 > 网站 > WEB开发 > 正文

VS2010使用yui-compressor打包并压缩JS、CSS

2024-04-27 14:13:54
字体:
来源:转载
供稿:网友

VS2010使用yui-comPRessor打包并压缩JS、CSS

Posted on 2015-01-15 16:45 理工.net 阅读(...) 评论(...) 编辑 收藏

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

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

已js进行举例,CSS类推:

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

jquery-1.5.1.jsMessageAlert/msgbox.jsjquery.form.jsapplication.js

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

@ECHO offTITLE Static Content Compressor And BundleSETLOCAL ENABLEEXTENSIONSSETLOCAL 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-compressor/yuicompressor-2.4.6.jar"

COLOR AECHO %YUI_COMPRESSOR_PATH%ECHO compressing static content startedECHO.

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

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

ECHO compressing static content doneGOTO:END

:compress_bundle_content

CD %~1SET 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,去掉即可。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表