如果你不知道UglifyJS就out了,jquery的官方压缩工具啦~
本来UglifyJS没有windows的客户端压缩工具,后来自己参照YUI的BAT工具(好像是淘宝一个哥们写的)改写了一个,具体见下面的说明。
REM =====================================
REM YUI Compressor CMD Script
REM
REM - by yubo@taobao.com
REM - 2009-02-12
REM =====================================
自己修改后的:
UglifyJS
安装指南
=========
安装步骤:
0. 安装nodejs运行环境:http://nodejs.org/,设置nodejs的安装目录到PATH中,一句话CMD中输入 node --version:
--->C:\Users\xin>node --version
--->v0.6.15
1. 安装请点击 install.cmd
2. 卸载请点击 uninstall.cmd
3. 如果安装过之前的版本,请先卸载老版本
压缩测试:
选中 test.js, 执行右键菜单“Process with UglifyJS”,会生成 test-min.js.
注意需要nodejs环境,怎么安装?自己谷歌吧,还有jsp里面的script标签要标准哦,只能是:"<script>"和'<script type="text/javascript">',其他的自己去写吧,text.indexOf('<script type="text/javascript">')
当然我觉得这个工具最好能支持压缩jsp里的js代码啦,所以自己看了下bin下面的uglifyjs文件,无非就是一些js的函数,找到了修改代码的切入点:output(squeeze_it(text)),接下来就好办了,下图为修改前后的对比:
最后看看实际效果图吧:
最后附上maven下面的压缩脚本:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-config</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>compile</phase>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/test/resources</directory>
<includes>
<include>uglify/*</include>
<include>uglify/lib/*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo message="开始用uglifyjs压缩 JSP 文件. 请耐心等待!" />
<property name="uglifyjs" value="${project.build.directory}/uglify/uglifyjs" />
<property name="jsp.compress.directory" value="${project.build.directory}/${project.build.finalName}/WEB-INF" />
<apply executable="node" parallel="false" failonerror="true" dest="${jsp.compress.directory}">
<fileset dir="${jsp.compress.directory}" includes="**/*.jsp" />
<arg line=" ${uglifyjs}" />
<arg line=" --ascii" />
<arg line=" -o" />
<targetfile />
<srcfile />
<mapper type="regexp" from="^(.*)\.(jsp)$" to="\1-min.\2" />
</apply>
<move todir="${jsp.compress.directory}">
<fileset dir="${jsp.compress.directory}" includes="**/*.jsp" />
<mapper type="regexp" from="^(.*)-min\.(jsp)$" to="\1.\2" />
</move>
<echo message="成功用uglifyjs压缩 JSP 文件" />
<echo message="开始用uglifyjs压缩 JS 文件. 请耐心等待!" />
<property name="uglifyjs" value="${project.build.directory}/uglify/uglifyjs" />
<property name="js.compress.directory" value="${project.build.directory}/${project.build.finalName}/resources/js" />
<apply executable="node" parallel="false" failonerror="true" dest="${js.compress.directory}">
<fileset dir="${js.compress.directory}" includes="**/*.js" />
<arg line=" ${uglifyjs}" />
<arg line=" --ascii" />
<arg line=" -o" />
<targetfile />
<srcfile />
<mapper type="regexp" from="^(.*)\.(js)$" to="\1-min.\2" />
</apply>
<move todir="${js.compress.directory}">
<fileset dir="${js.compress.directory}" includes="**/*.js" />
<mapper type="regexp" from="^(.*)-min\.(js)$" to="\1.\2" />
</move>
<echo message="成功用uglifyjs压缩 JS 文件" />
</target>
</configuration>
</execution>
</executions>
</plugin>
<!-- CSS压缩 -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.3.0</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>compress</goal>
</goals>
<configuration>
<includes>
<include>**/*.css</include>
</includes>
<nosuffix>true</nosuffix><!-- 不需要后缀 -->
<linebreakpos>-1</linebreakpos><!-- 是否在一行 -->
</configuration>
</execution>
</executions>
</plugin>

- 大小: 66.7 KB

- 大小: 44.8 KB

- 大小: 1.2 MB
分享到:
相关推荐
在本案例中,我们使用 JSP Tag 来实现 JavaScript 文件的合并与压缩。 实现这个功能的关键步骤包括: 1. **文件读取**:首先,我们需要读取所有待合并的 JavaScript 文件内容。这通常通过文件系统 API 完成,例如 ...
**UglifyJS** 是一个流行的JavaScript代码压缩和优化工具,它可以帮助开发者减小JavaScript文件的大小,提高网页加载速度,降低带宽消耗。本文将详细介绍如何通过编程方式使用UglifyJS来合并和压缩JavaScript文件。 ...
例如,对于JavaScript,可以使用UglifyJS或Terser,它们在压缩代码时会移除不必要的注释和空白字符。Python则有`pyminifier`等工具可以完成类似任务。 在实际操作中,通常会保留源代码仓库中的完整注释,以便于开发...
1. **压缩与合并**:通过工具如UglifyJS对JavaScript文件进行压缩,移除空白符、注释等无意义字符,并合并多个文件为一个,减少HTTP请求次数。 2. **异步加载**:使用`async`或`defer`属性让脚本异步加载,不会阻塞...