一款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 相关文章推荐
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
Apr 24 Javascript
ie下动态加态js文件的方法
Sep 13 Javascript
JS定义回车事件(实现代码)
Jul 08 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
Aug 15 Javascript
node.js中的url.parse方法使用说明
Dec 10 Javascript
jQuery中Ajax的get、post等方法详解
Jan 20 Javascript
javascript函数命名的三种方式及区别介绍
Mar 22 Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
Sep 21 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
Oct 31 Javascript
微信小程序提取公用函数到util.js及使用方法示例
Jan 10 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的面向对象编程
2006/10/09 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
[00:53]2015国际邀请赛 中国区预选赛一触即发
2015/05/14 DOTA
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
python使用webbrowser浏览指定url的方法
2015/04/04 Python
python脚本监控docker容器
2016/04/27 Python
python实现一组典型数据格式转换
2018/12/15 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
python 如何调用 dubbo 接口
2020/09/24 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
J2EE面试题
2016/03/14 面试题
本科毕业生求职自荐信
2014/02/03 职场文书
银行优秀员工事迹
2014/02/06 职场文书
保护环境倡议书范文
2014/05/13 职场文书
2014年仓库工作总结
2014/11/20 职场文书
党员剖析材料范文
2014/12/18 职场文书
南京大屠杀观后感
2015/06/02 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python