一款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 相关文章推荐
JQUERY THICKBOX弹出层插件
Aug 30 Javascript
javascript parseInt与Number函数的区别
Jan 21 Javascript
jQuery Study Notes学习笔记 (二)
Aug 04 Javascript
控制input输入框中提示信息的显示和隐藏的方法
Feb 12 Javascript
node.js中的fs.writeSync方法使用说明
Dec 15 Javascript
Bootstrap进度条组件知识详解
May 01 Javascript
AngularJS ng-change 指令的详解及简单实例
Jul 30 Javascript
bootstrapValidator自定验证方法写法
Dec 01 Javascript
bootstrap的常用组件和栅格式布局详解
May 02 Javascript
angularJs中ng-model-options设置数据同步的方法
Sep 30 Javascript
vue 中几种传值方法(3种)
Nov 12 Javascript
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
类之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 常用函数库和一些实用小技巧
2009/01/01 PHP
php cookie 登录验证示例代码
2009/03/16 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
JavaScript自定义事件介绍
2013/08/29 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python读取键盘输入的2种方法
2015/06/16 Python
Python selenium如何设置等待时间
2016/09/15 Python
Python创建或生成列表的操作方法
2019/06/19 Python
Pygame的程序开始示例代码
2020/05/07 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
应届生护士求职信
2013/11/01 职场文书
优秀高中生事迹材料
2014/02/11 职场文书
工程质量承诺书
2014/03/27 职场文书
小学节能减排倡议书
2014/05/15 职场文书
房屋质量投诉书
2015/07/02 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle