一款JavaScript压缩工具:X2JSCompactor


Posted in Javascript onJune 13, 2007

去年写的一个JavaScript压缩工具,用于x2blog.cn的js压缩。不过一直没有对外发布,现在拿来充个文章数吧,老不更新Blog可不好,呵呵

概述:
X2JavascriptCompactor可以将多个Javascript脚本文件打包成一个文件,并删除原始文件中的注释、无用空白以及换行。不仅可以有效减少网络传输量,同时使脚本文件难以被分析和破解。软件同时支持多个文件的同时打包,即可以建立多个输出文件,每个输出文件对应到一定的输入文件,每个输出文件对应的输入文件之间互不相关。

说明:
在网上一直未能找到合适的JS打包工具,压缩后的文件常常不能执行,于是就自己写了这个工具,开发是基于.net 1.1框架的,所以要正确执行必须装有.net framework,可以到微软网站免费下载:http://download.microsoft.com/download/7/b/9/7b90644d-1af0-42b9-b76d-a2770319a568/dotnetfx.exe。同时,为求开发效率,系统并未对Javascript作详尽的语法分析,因此为确保压缩后的Javascript文件能正确执行,必须符合下面的约定:
1.原始文件能正确执行;
2.构造体末不一定需要加分号:即var f=function(){},var a={p1:1,p2:2}这样的语句末无需分号,当然加了也可以;
3.普通语句结尾必须有分号:如var a=1; alert(a);这样的普通语句结尾必须有分号。
相信即使没有这个约定,大家也会按照这样的语法书写Javascript,在此说明只是强调一下,毕竟Javascript规范并不强制要求分号结尾。

使用流程:
1.新建或打开一个项目,后缀为*.jcp;
2.建立输出文件,这里保存压缩后的文件内容,你可以选择已经存在的文件,或者新建一个文件;
3.选中一个输出文件,为此文件选择对应的输入文件,在左侧列表会显示出来;
4.调整输入文件的顺序,使得其符合执行顺序要求,可以通过上下箭头来执行;
5.点击开始压缩按钮,软件会自动分析输入文件,并压缩打包到输出文件;
6.你可以根据需要决定是否保存项目文件。

本地下载

Javascript 相关文章推荐
如何实现iframe(嵌入式帧)的自适应高度
Jul 26 Javascript
Javascript Object.extend
May 18 Javascript
jquery高效反选具体实现
May 05 Javascript
js进行表单验证实例分析
Feb 10 Javascript
javascript中attachEvent用法实例分析
May 14 Javascript
设置点击文本框或图片弹出日历控件的实现代码
May 12 Javascript
利用jQuery对无序列表排序的简单方法
Oct 16 Javascript
js中this对象用法分析
Jan 05 Javascript
JavaScript设计模式之职责链模式应用示例
Aug 07 Javascript
Webstorm2016使用技巧(SVN插件使用)
Oct 29 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
原生js canvas实现鼠标跟随效果
Aug 02 Javascript
类之Prototype.js学习
Jun 13 #Javascript
JavaScript语法着色引擎(demo及打包文件下载)
Jun 13 #Javascript
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 #Javascript
Add Formatted Data to a Spreadsheet
Jun 12 #Javascript
excel操作之Add Data to a Spreadsheet Cell
Jun 12 #Javascript
List Installed Hot Fixes
Jun 12 #Javascript
List the UTC Time on a Computer
Jun 11 #Javascript
You might like
PHP读取xml方法介绍
2013/01/12 PHP
使用PHP编写发红包程序
2015/07/22 PHP
php模板引擎技术简单实现
2016/03/15 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
使用python实现knn算法
2017/12/20 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
tensorflow多维张量计算实例
2020/02/11 Python
基于Python的OCR实现示例
2020/04/03 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
教师反邪教心得体会
2016/01/15 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang