一款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 相关文章推荐
自定义右键属性覆盖浏览器默认右键行为实现代码
Feb 02 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
Jun 07 Javascript
Bootstrap Navbar Component实现响应式导航
Oct 08 Javascript
angularjs 表单密码验证自定义指令实现代码
Oct 27 Javascript
jstree的简单实例
Dec 01 Javascript
jQuery自动或手动图片切换效果
Oct 11 jQuery
在react中使用vuex的示例代码
Jul 30 Javascript
JavaScript常用数组操作方法,包含ES6方法
May 10 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
Dec 10 Javascript
教你完全理解ReentrantLock重入锁
Jun 03 Javascript
Javascript Dom元素获取和添加详解
Sep 24 Javascript
vuex state中的数组变化监听实例
Nov 06 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上传文件的增强函数
2010/07/21 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php数据序列化测试实例详解
2017/08/12 PHP
PHP网页安全认证的实例详解
2017/09/28 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
企业法人代表任命书
2014/06/06 职场文书
理财计划书
2014/08/14 职场文书
食堂管理制度范本
2015/08/04 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
golang日志包logger的用法详解
2021/05/05 Golang
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP