JavaScript压缩工具JSA使用介绍

JSA绝对是我使用过的JS压缩工具中最上乘的一个。认识它是从ligerUI开始。在ligerUI的QQ讨论组里,大神——ligerUI的作者告诉我他的ligerUI是用JSA混淆和压缩的。

好吧,赶紧下一个去:JSA-20071021.jar。地址是:

http://sourceforge.net/projects/jsintegration/files/tools/_%20JSA-20071021/

我们只要这个JSA-20071021.jar就足够了。

1)交互式JavaScript混淆和压缩工具JSA使用方法

如果你想JSA-20071021.jar作为一个客户端GUI工具软件来使用,那么打开一个cmd窗口,进入JSA-20071021.jar所在的目录,输入命令:

$ java -jar JSA-20071021.jar

按[确定],出现下面的窗口:

压缩前要先按下面的图设置:

接下来打开我们要压缩的文件ligerui.all.js:

开始压缩:

最后把压缩得到的文件保存出去即可:

2)自动化JavaScript混淆和压缩工具JSA使用方法

当然上面的方法我是用过一次绝对不会用第2次。其实自动化的方法可以参考JSA-20071021.jar里面的help.html。

其实很简单,建个目录jsa-demo,把JSA-20071021.jar放进去,jsa-demo目录下还有子目录src/,把ligerui.all.js放进去(当然可以放任何你喜欢的js文件),然后建一个jsa-demo/build.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="jsa-demo" basedir="." default="jscompress">
    <taskdef resource="jst-task.properties" classpath="JSA-20071021.jar" />
    <property name="src.dir" value="./src" />
    <property name="build.dir" value="./build" />
    <target name="jscompress" >
        <jscompress destDir="${build.dir}" charset="utf-8"
            allInOneFileName="ligerui.min.js"
            syntaxcompression="true"
            textcompression="true"
            compatible="true">
            <fileset dir="${src.dir}">
                <include name="*.js" />
            </fileset>
        </jscompress>
    </target>
</project>

打开命令行窗口,进入jsa-demo/目录,输入ant。一切搞定。

文章的使用环境要求java+ant。

cheungmine作品

2013-11-2 上海

JavaScript压缩工具JSA使用介绍的更多相关文章

  1. JavaScript function函数种类介绍

    JavaScript function函数种类介绍 本篇主要介绍普通函数.匿名函数.闭包函数 1.普通函数介绍 1.1 示例 ? 1 2 3 function ShowName(name) {     ...

  2. 9款最好的JavaScript压缩工具

    削减是一个从源代码中删除不必要的字符的技术使它看起来简单而整洁.这种技术也被称为代码压缩和最小化.在这里,我们为你收集了10个最好的JavaScript压缩工具将帮助您删除不必要的空格,换行符,评论, ...

  3. 9最好的JavaScript压缩工具

    削减是一个从源代码中删除不必要的字符的技术使它看起来简单而整洁.这种技术也被称为代码压缩和最小化.在这里,我们为你收集了10个最好的JavaScript压缩工具将帮助您删除不必要的空格,换行符,评论, ...

  4. 编写可维护的javascript代码---开篇(介绍自动报错的插件)

    文章开篇主要推荐了2款检测编程风格的工具: JSLint和JSHint: jsLint是由Douglas Crockford创建的.这是一个通用的javascript代码质量检测工具,最开始JSLin ...

  5. Fancytree Javascript Tree TreeTable 树介绍和使用

    Fancytree是一个非常棒的Javascript控件,功能强大,文档健全.在做Javascript Tree控件选型时,主要基于以下几点选择了Fancytree 在Javascript Tree控 ...

  6. JavaScript FormData的详细介绍及使用

    本文转自:https://blog.csdn.net/liupeifeng3514/article/details/78988001 FormData的详细介绍及使用请点击此处,那里对FormData ...

  7. JavaScript的知识基本介绍

    ECMAScript js简单介绍(与java的区别)        1.语法(区分大小写,弱类型,分号可写可不写)        2.变量(只能使用var定义,要么不定义,如果在函数内部使用var定 ...

  8. javascript Date对象的介绍及linux时间戳如何在javascript中转化成标准时间格式

    1.Date对象介绍 Date对象具有多种构造函数.new Date()new Date(milliseconds)new Date(datestring)new Date(year, month)n ...

  9. JavaScript ES6新特性介绍

    介绍 ES6:ECMScript6 首先,一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? ECMAScript是一个国际通过的标准化脚本语言: JavaScript ...

随机推荐

  1. 73. Set Matrix Zeroes(中等)

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. 重点是空间复 ...

  2. Red Hat Enterprise Linux7的安装与oracle 12c的安装

    Red Hat Enterprise Linux7的安装与oracle 12c的安装 本文档中用到的所有参数均位于文末附录 Red Hat Enterprise Linux7的安装 新建完虚拟机后,挂 ...

  3. org.apache.maven.archiver.MavenArchiver.getManifest

    eclipse导入新的maven项目时,pom.xml第一行报错: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.mav ...

  4. 项目实战15.2—企业级堡垒机 jumpserver快速入门

    必备条件 硬件条件 ① 一台安装好 Jumpserver 系统的可用主机(堡垒机) ② 一台或多台可用的 Linux.Windows资产设备(被管理的资产) 服务条件 (1)coco服务 ① 鉴于心态 ...

  5. C++笔记001:Microsoft Visual Studio 2010软件的安装与建立第一个cpp文件

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 我学习C++使用软件为Microsoft Visual Studio 2010. 首先,软件的安装包 链接:https://pan.bai ...

  6. Dynamics CRM2016 The value of field on record of type entity is outside the valid range问题的解决方法

    今天在用web api创建一条记录时报了个标题里的错,咋看这错说的很明白了,属性字段的值超范围了,但咱们看下具体的问题 请求url是这样的http://xx/api/data/v8.0/new_rec ...

  7. 安卓高级6 SnackBar

    引言 文/李牧羊(简书作者) 原文链接:http://www.jianshu.com/p/2654e6bda3b1 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". ...

  8. Android开发学习之路--Android Studio cmake编译ffmpeg

      最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...

  9. 将树形递归转换为loop

    class Stack(object): def __init__(self,**kwargs): self.__dict__.update(kwargs) def __str__(self): re ...

  10. FORM界面批量处理-全选框实现

    全选框实现方法多种多样,这里只介绍两种 方法一:触发器式,优点程序简单,缺点颜色单调不突出 1.      在数据块和控制块上分别创建check box 2.      设置check box选中与为 ...