一款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 相关文章推荐
javascript复制对象使用说明
Jun 28 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
Jan 13 Javascript
使用javascript实现判断当前浏览器
Apr 14 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
Nov 30 Javascript
基于jquery实现智能表单验证操作
May 09 Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 Javascript
canvas实现图像放大镜
Feb 06 Javascript
js实现动态显示时间效果
Mar 06 Javascript
Vue侧滑菜单组件——DrawerLayout
Dec 18 Javascript
详解vue-cli3 中跨域解决方案
Apr 10 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
Sep 07 Javascript
如何用JS实现网页瀑布流布局
Apr 24 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异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
jquery ui resizable bug解决方法
2010/10/26 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
node.js中使用Export和Import的方法
2017/09/18 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
微信小程序实现人脸检测功能
2018/05/25 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
Python面试题集
2012/03/08 面试题
自荐信怎么写呢?
2013/12/09 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
倡议书范文大全
2015/04/28 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
早恋主题班会
2015/08/14 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
python 字典和列表嵌套用法详解
2021/06/29 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis