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
MessageAlert\msgbox.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-compressor\yuicompressor-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,去掉即可。

时间: 2024-11-07 05:02:07

VS2010使用yui-compressor打包并压缩JS、CSS的相关文章

YUI Compressor是如何压缩JS代码的?

YUI Compressor 压缩 JavaScript 的内容包括: 移除注释 移除额外的空格 细微优化 标识符替换(Identifier Replacement) YUI Compressor 包括哪些细微优化呢? object["property"] ,如果属性名是合法的 JavaScript 标识符(注:合法的 JavaScript 标识符——由一个字母开头,其后选择性地加上一个或者多个字母.数字或下划线)且不是保留字,将优化为: object.property {"

Asp.Net使用Yahoo.Yui.Compressor.dll压缩Js|Css

网上压缩css和js工具很多,但在我们的系统中总有特殊的地方.也许你会觉得用第三方的压缩工具很麻烦.我就遇到了这样问题,我不想在本地压缩,只想更新到服务器上去压缩,服务器压缩也不用备份之类的操作.于是我就想着自己实现压缩工具. 初步需求如下: 使用Yahoo.Yui.Compressor 2.0版本 只对网站目录下指定文件夹中css和js进行压缩 使用到了JQuery插件,所以有很多都是压缩过的js.所以对文件名称中保存min的不进行压缩 不需要备份文件 如在第一次访问文件时候进行压缩或应用程序

.net 运用YUI相关的dll压缩js (按照自己的规则,想想都觉得强大和有趣)

写在前面 不管是做前端的还是做后台的,不管是懂javaScript的还是不太懂JavaScript的人,我想都或多或想的知道些许js压缩对于页面性能提升的效应吧. 之前老喜欢用在线压缩工具去压缩js,其实想想之前的这个做法就有些不寒而栗,假设一下,如果一个项目中的js有50个的话,你要去用在线压缩工具压缩js50次吗?仅仅发布一次就压缩50次,那是不是每个发布项目的时候都要去做这个工作,这是多么重复而双乏味的事情. 再假设,不同页面上引用了相同的n个js,如果我们只是按照单独的js去压缩的话,那

ASP.NET MVC 4使用Bundle的打包压缩JS/CSS

打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感,同时通过移除JS/CSS文件案中空白.批注及修改JavaScript内部函数.变量名称的压缩手法,能有效缩小文件案体积,提高传输效率,提供使用者更流畅的浏览体验. 在ASP.NET MVC 4中可以使用BundleTable捆绑多个css文件和js文件,以提高网络加载速度和页面解析速度.更为重要的是通过捆绑可以解决IE浏览

maven 配置合并压缩JS+CSS

1 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 2 <modelV

压缩 js/css 的工具

最近检测服务器,发现js/css文件都没有压缩过,动手解决此问题先. 本次压缩采用 yui compress (2.4.8) 压缩脚本: #!/bin/sh echo "###########################" echo "---------------------------" echo "begin to compress JS file." for file in `find . -name "*.js"

node压缩js/css/image

1.安装nodejs http://nodejs.org/ 2.安装各自的node package js我用的是UglifyJS github地址:https://github.com/mishoo/UglifyJS css我用的是clean-css github地址:https://github.com/GoalSmashers/clean-css 图片用的是node-smushit    github地址:https://github.com/colorhook/node-smushit 3

IIS7.5打开GZip压缩,同时启用GZip压缩JS/CSS文件的设置方法[bubuko.com]

IIS7.5或者IIS7.0开启GZip压缩方法:打开IIS,在右侧点击某个网站,在功能视图中的“IIS”区域,双击进入“压缩”,如图下图: 分别勾选“启用动态内容压缩”和“启用静态内容压缩”.这样最通用的设置GZip压缩就完成了. 静态内容压缩和动态内容压缩的区别静态内容压缩:压缩的静态响应可以缓存到磁盘上,供多个请求使用,同时不会降低 CPU 资源的性能.对于下一个请求,可以从磁盘检索压缩文件,由于 CPU 不必再次压缩文件,从而提高了性能. 动态内容压缩:压缩动态应用程序响应会影响 CPU

YUI Compressor for Sublime text2

YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发. 最近压缩文件,常使用在线压缩的方式来压缩文件,一来多有不便,二来如果没有网络,只能搁置了.本文来描述如何在Sbulime text2中使用YUI Compressor插件. Java的安装 官网上下载java,并安装,安装完成后进行环境变量配置: 1.我的电脑 -> 右键属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量: (1)新建->变量名:JAVA_H