一款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 相关文章推荐
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
使用jquery实现放大镜效果
Sep 02 Javascript
jQuery搜索同辈元素方法
Feb 10 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
Feb 07 Javascript
vue2组件之select2调用的示例代码
Oct 12 Javascript
vue 利用路由守卫判断是否登录的方法
Sep 29 Javascript
微信小程序页面缩放式侧滑效果的实现代码
Nov 15 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 Javascript
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
类之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调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
php socket通信简单实现
2016/11/18 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
一个JavaScript的求爱小特效
2014/05/09 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python采用getopt解析命令行输入参数实例
2014/09/30 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
Python是怎样处理json模块的
2020/07/16 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
python中封包建立过程实例
2021/02/18 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
如何打开WebSphere远程debug
2014/10/10 面试题
行政经理的岗位职责
2013/11/23 职场文书
秘书英文求职信范文
2014/01/31 职场文书
二人合伙经营协议书
2014/09/13 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
房屋维修协议书范本
2014/09/25 职场文书
鲁滨逊漂流记读书笔记
2015/06/26 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js