一款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 学习 几种常用方法
Jun 11 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
JavaScript自执行闭包的小例子
Jun 29 Javascript
如何使用Javascript正则表达式来格式化XML内容
Jul 04 Javascript
Javascript基础教程之switch语句
Jan 18 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
PHP获取当前页面完整URL的方法
Dec 02 Javascript
详解如何让Express支持async/await
Oct 09 Javascript
webpack构建换肤功能的思路详解
Nov 27 Javascript
JavaScript Blob对象原理及用法详解
Oct 14 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
Oct 30 Javascript
uniapp 微信小程序 自定义tabBar 导航
Apr 22 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 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
php中计算时间差的几种方法
2009/12/31 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP实现的简单分页类及用法示例
2016/05/06 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
PHP多进程编程实例详解
2017/07/19 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
laravel入门知识点整理
2020/09/15 PHP
HTML Dom与Css控制方法
2010/10/25 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
一份软件工程师的面试试题
2016/02/01 面试题
How to spawning asynchronous work in J2EE
2016/08/29 面试题
艺术设计专业个人求职信
2013/09/21 职场文书
团员自我评价范文
2015/03/10 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
一篇文章带你复习java知识点
2021/06/28 Java/Android
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python