项目中需要对javascript进行打包和压缩,我选用了yuicompressor
yuicompressor可以压缩JS和CSS文件,去除文件中的无用空格、换行和注释。大大的减小JS和CSS文件的体积。
简单的命令如下
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o uiiang.js table.js
--type指定要打包的文件类型,可选的有 js和css
--charset 指定字符集
-o 指定输出的文件名,如果不指定这个参数将会把压缩后的内容输出到命令行上
最后的table.js是要打包的源文件
不过这样压缩有一个缺点,只能一个一个文件的进行压缩,所以使用bat进行批处理压缩
建立一个compresjs.bat文件,内容如下
(dir %1 /aa /b /s | findstr /e /c:"js") >tmp.txt
for /f %%i in (tmp.txt) do java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o %%i.tmp %%i & copy %%i".tmp" %%i & del %%i".tmp"
运行这个bat文件,会自动寻找本文件所在目录下所有子文件夹中的.js文件,进行压缩并覆盖源文件。
compresjs.bat使用的方法只是对文件进行压缩,如果有10个源文件,还会压缩成10个文件,并没有进行打包。 我们可以对他进行更进一步的处理,把这10个源文件打包压缩成1个文件,就像ext-all.js那样。
建立一个packagejs.bat文件,内容如下
for /r ..\WebContent\js %%i in (*.js) do type %%i>>uiiang-debug.js
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o uiiang.js uiiang-debug.js
在packagejs.bat中,先将..\WebContent\js下的所有JS文件内容合并到uiiang-debug.js文件中,然后再使用yuicompressor对uiiang-debug.jsp压缩成uiiang.js,这样就可以得到一个经过压缩并包含全部.js文件的代码了。
packagejs.bat中使用的方法有一个缺点,那就是它在合并js文件时的顺序,是按照文件夹及子文件夹还有js文件的排列顺序进行合并的,也就是按文件名顺序排列。但是在我们实际项目中,一般情况下JS文件的引用是要指定一个特定的加载顺序,不然的话就会报错。所以还要对packagejs.bat进行再进一步的改造。
首先要建立一个列表文件dir.txt
..\WebContent\js\widgets\WidgetInit.js
..\WebContent\js\utils\Cache.js
..\WebContent\js\common\GlobalConstant.js
..\WebContent\js\common\GlobalVariable.js
..\WebContent\js\common\GlobalFunc.js
..\WebContent\js\core\Initialize.js
在这个文件中,按照JSP中指定的JS文件加载顺序写好文件的路径
再修改packagejs.bat
for /f %%i in (dir.txt) do type %%i >> uiiang-debug.js
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o uiiang.js uiiang-debug.js
执行这个packagejs.bat文件后,批处理命令会自动读取dir.txt并按照你指定的顺序逐行取出.js文件的路径进行,把文件内容合并到uiiang-debug.js中。
另外要注意的一点就是在dir.txt中,一定要把所需要打包压缩的的JS文件路径全部列出来,因为新的pakagejs.bat不会再自动寻找全部的JS文件了,如果有遗漏就只好报错
至此,批处理压缩打包js文件的工作就完成了,还可以将代码中的.JS换成.css对CSS文件进行打包,当然yuicompressor的--type也要改成css。
分享到:
相关推荐
标题和描述中提到的技术点主要围绕如何使用批处理脚本结合yuicompressor工具来压缩和打包JavaScript(js)以及CSS文件。yuicompressor是一款高效的压缩工具,能够去除文件中的空格、换行和注释,从而减小文件体积,...
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js //压缩CSS java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css 语法: java -jar ...
对于Idea用户,可以通过安装第三方插件实现yuicompressor的集成,这样在编译项目时,可以直接对JavaScript和CSS文件进行自动压缩,简化了工作流程,提高了开发效率。 在Idea中配置yuicompressor,通常需要以下步骤...
4. **CSS优化**:除了JavaScript,YUICompressor还可以处理CSS文件,合并重复的样式规则,删除未使用的颜色和字体,以及优化选择器。 5. **批处理支持**:对于大量的文件,YUICompressor支持一次性处理整个目录,...
YUI Compressor是由Yahoo开发的一款高效且强大的JavaScript和CSS压缩工具。它能够通过删除空格、注释和不必要的字符,以及进行代码混淆来减小文件大小,从而提高页面加载速度,降低带宽消耗。此外,YUI Compressor还...
**YUI Compressor** 是一个强大的JavaScript和CSS压缩工具,由Yahoo!开发并开源,旨在减少网页加载时间,提升网站性能。它通过删除不必要的空格、注释和换行,以及应用变量和函数的最小化来优化代码,从而减小文件...
**YUI Compressor:高效...通过合理的使用和配置,可以在不牺牲代码可读性的前提下,显著提升网页加载速度,降低服务器负载,提升用户满意度。在现代Web开发中,像YUI Compressor这样的工具已经成为开发者必备的利器。
### 使用YUICompressor与DOS批处理脚本压缩JavaScript和CSS详解 #### 一、引言 在现代Web开发中,JavaScript与CSS文件作为网页的重要组成部分,它们的加载速度直接影响着用户体验及网站的整体性能。当文件过大时,...
**JS压缩** 是YUI Compressor的核心功能之一,它通过删除不必要的空格、换行和注释,以及将变量名转换为更短的形式,显著减小JavaScript文件的大小。这对于优化网页性能尤其重要,因为浏览器需要下载并解析每个脚本...
`YUI Compressor 2.4.2` 是一个由雅虎(Yahoo)开发的开源工具,主要用于JavaScript和CSS代码的压缩与优化。这个版本发布于2009年,它在当时是业界广泛使用的前端资源压缩工具之一。通过这个工具,开发者能够有效地...
1. **可执行文件**:`yuicompressor-2.4.2.jar`是YUI Compressor的一个版本,包含了所有必要的类和资源,可以直接通过命令行进行JavaScript和CSS文件的压缩。只需将这个jar文件添加到系统路径,就可以在终端中运行`...
`yuicompressor-maven-plugin`是一款强大的Maven插件,主要用于优化前端资源,特别是JavaScript和CSS文件。这个插件是基于YUI Compressor,一个由Yahoo开发的开源工具,它能有效地压缩和混淆代码,从而减少文件大小...
标题 "ant和yuicompressor 压缩css、js方案" 涉及到的是在软件开发中如何使用构建工具Ant以及JavaScript压缩工具YUI Compressor来优化前端资源,特别是CSS和JavaScript文件。这两个工具在Web开发中起着至关重要的...
4. **兼容性好**:yuicompressor在处理各种JavaScript语法结构时表现稳定,对于常见的库和框架如jQuery、AngularJS等都能良好兼容。 5. **命令行工具**:提供命令行接口,方便开发者集成到构建流程中,实现自动化...
`yuicompressor-2.4.8.zip` 是一个前端开发中常用的工具,主要功能是对JavaScript和CSS文件进行注释清理和代码压缩,从而优化网页加载速度,提高用户体验。这个压缩工具出自YUI(Yahoo! User Interface Library)...
这个“YUI compressor右键压缩脚本”提供了一种便捷的方式,使得用户无需通过命令行或图形用户界面(GUI)就能快速对JS(JavaScript)和CSS文件进行压缩,大大简化了工作流程。 首先,我们来深入了解YUI Compressor...
`yuicompressor`是由Yahoo开发的一款开源的JavaScript和CSS压缩工具。它通过删除不必要的空格、换行符以及注释,将源代码压缩到最小化,从而减少文件大小,提高页面加载速度。在实际应用中,`yuicompressor`不仅能...