问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁有JavaScript压缩工具 好用的 给我一份?

发布网友 发布时间:2022-04-21 19:37

我来回答

2个回答

热心网友 时间:2024-04-08 23:37

给你我自己用的代码吧~~~
package com.wanghe;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
* 脚本处理类
* 1.实现压缩单个js文件--去除注释换行和多个空格,最终输出一行字符串
* 2.实现批量js压缩功能,压缩目录下的所有js文件到对应的输出目录下
* 3.实现js合并功能 根据需要压缩的列表和输出文件路径及是否压缩生成对应文件
* @author zheng
* @version 1.0
*/
public class ScriptHelp
{
private static final String ENCODE = "GBK";

public static void main(String[] args)
{
//批量压缩js文件
String baseScriptPath = "D:/easy-tab.js";
String miniScriptPath = "D:/mini/easy-tab-mini.js";
//batchCompressJS(baseScriptPath,miniScriptPath);
compressSingleJS(baseScriptPath,miniScriptPath);
//压缩单个js文件
//compressSingleJS("D:/workspace/coos/WebRoot/scripts/coos.js","D:/workspace/coos/WebRoot/scripts/mini/coos.js");
/*
//合并js文件
List<String> fileList = new ArrayList<String>();
fileList.add("D:/workspace/coos/WebRoot/scripts/coos.js");
fileList.add("D:/workspace/coos/WebRoot/scripts/coos.extend.ajax.js");
String toFile = "D:/workspace/coos/WebRoot/scripts/mini/coos.js";
mergeJS(fileList,toFile,true);
*/
}
/**
* 批量压缩js,压缩当前目录下的所有js
* @param baseScriptPath 要压缩的文件目录
* @param miniScriptPath 输出压缩后对应的目录
*/
@SuppressWarnings("unchecked")
public static void batchCompressJS(String baseScriptPath,String miniScriptPath)
{
//获取当前目录下所以js文件路径(不包括子目录)
List fileList = getListFiles(baseScriptPath,"js",false);

for (Iterator i = fileList.iterator(); i.hasNext();)
{
String fromFile = (String) i.next();
String toFile = miniScriptPath +fromFile.substring(fromFile.lastIndexOf("/"), fromFile.length());
compressSingleJS(fromFile,toFile);
}
}

/**
* 压缩单个js文件
* @param fromFile
* @param toFile
*/
public static void compressSingleJS(String fromFile,String toFile)
{
String content = readFile(fromFile);
writeFile(compressJS(content),toFile);
}
/**
* 合并js文件
* @param fileList 文件全路径的list,需要按顺序
* @param toFile 输出文件的全路径
* @param isCompress 是否压缩
*
*/
@SuppressWarnings("unchecked")
public static void mergeJS(List fileList,String toFile,Boolean isCompress)
{
String content = "";
for (Iterator i = fileList.iterator(); i.hasNext();)
{
String fromFile = (String) i.next();
content += readFile(fromFile);
}
if(isCompress == true)
writeFile(compressJS(content),toFile);
else
writeFile(content,toFile);
}
/**
* 去除注释、多个空格和换行,最终形成一行的字符串
* @param content 要压缩的内容
* @return 压缩后的内容
*/
public static String compressJS(String content)
{
//去掉/*some code*/的注释 注意alert()里不要有/**/
content = content.replaceAll("//.*[\\r\\n]","");
//去掉/*some code*/的注释 注意alert()里不要有/**/
content = content.replaceAll("\\/\\*(a|[^a])*?\\*\\/","");
/*多余的空格*/
content = content.replaceAll("\\s{2,}"," ");
//等号两边的空格去掉
content = content.replaceAll("\\s*=\\s*","=");
//}两边的空格去掉
content = content.replaceAll("\\s*}\\s*","}");
//{两边的空格去掉
content = content.replaceAll("\\s*\\{\\s*","\\{");
//冒号两边的空格去掉
content = content.replaceAll("\\s*:\\s*",":");
//逗号两边的空格去掉
content = content.replaceAll("\\s*,\\s*",",");
//分号两边的空格去掉
content = content.replaceAll("\\s*;\\s*",";");
//与两边的空格去掉
content = content.replaceAll("\\s*&&\\s*","&&");
//或两边的空格去掉
content = content.replaceAll("\\s*\\|\\|\\s*","\\|\\|");
/*替换换行和回车*/
content = content.replaceAll("\\r\\n","").replaceAll("\\n", "");
return content;
}
/**
* 输出文件,编码为UTF-8 用记事本另存为:fileContent 全部为英文则为ansi 包含中文则为UTF-8
* @param content 要输出的文件内容
* @param comspec 全路径名
*/
public static void writeFile(String content,String comspec)
{
try
{
int i = comspec.lastIndexOf("/");
String dirs = comspec.substring(0,i);
File file = new File(dirs);
if(!file.exists()){
file.mkdir();
}
file = new File(comspec);
if(!file.exists()){
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
Writer out = new OutputStreamWriter(fos,ENCODE);
out.write(content);
System.out.println("成功输出文件:" + comspec);
out.close();
fos.close();
} catch (IOException e)
{
System.out.println("写文件操作出错!");
e.printStackTrace();
}
}

/**
* 读取文件内容
* @param filePath
* @return String
*/
public static String readFile(String filePath)
{
StringBuilder sb = new StringBuilder();
try
{
File file = new File(filePath);
InputStreamReader read = new InputStreamReader (new FileInputStream(file),ENCODE);
BufferedReader reader=new BufferedReader(read);
String s = reader.readLine();
while (s != null)
{
sb.append(s);
sb.append("\r\n");
s = reader.readLine();
}
reader.close();
} catch (IOException e)
{
e.printStackTrace();
}
return sb.toString();
}

public static List<String> fileList = new ArrayList<String>();
/**
* @param path 文件路径
* @param suffix 后缀名
* @param isdepth 是否遍历子目录
* @return fileList
*/
@SuppressWarnings("unchecked")
public static List getListFiles(String path, String suffix, boolean isdepth)
{
File file = new File(path);
return listFile(path,file ,suffix, isdepth);
}
/**
* 获取当前目录下文件路径
* @param path
* @param f
* @param suffix
* @param isdepth
* @return
*/
@SuppressWarnings("unchecked")
public static List listFile(String path, File f, String suffix, boolean isdepth)
{
//是目录,同时需要遍历子目录
String temp = path.replaceAll("/","\\\\");
if ((f.isDirectory() && isdepth == true) || temp.equals(f.getAbsolutePath()))
{
File[] t = f.listFiles();
for (int i = 0; i < t.length; i++)
{
listFile(path,t[i], suffix, isdepth);
}
}
else
{
addFilePath(f ,suffix, isdepth);
}
return fileList;
}

/**
* 添加文件路径到list中
* @param f
* @param suffix
* @param isdepth
* @return
*/
@SuppressWarnings("unchecked")
public static List addFilePath(File f, String suffix, boolean isdepth)
{
String filePath = f.getAbsolutePath().replaceAll("\\\\", "/");
if(suffix !=null)
{
int begIndex = filePath.lastIndexOf(".");
String tempsuffix = "";

if(begIndex != -1)//防止是文件但却没有后缀名结束的文件
{
tempsuffix = filePath.substring(begIndex + 1, filePath.length());
}
if(tempsuffix.equals(suffix))
{
fileList.add(filePath);
}
}
else
{
fileList.add(filePath);//后缀名为null则为所有文件
}
return fileList;
}

}追问最好是提供一个可以直接用的js压缩工具 这些代码该怎么用呢

热心网友 时间:2024-04-08 23:38

yahoo的 yui compressors
网上有下的。
JavaScript在线美化(格式化)、压缩、加密、解密、混淆工具-toolfk程序...

ToolFk 是一款全面的在线工具箱,专为程序员设计。无需安装软件,仅需将内容粘贴并执行,即可获取结果。其支持多项功能,包括但不限于:条形码生成、采集器、PHP和Python代码运行、混淆、加密与解密、JavaScript运行、YAML格式化、HTTP模拟查询、HTML、CSS、JSON工具、Unixtime转换、Base64/URL/Native2Ascii转...

如何把doc文件转换成PDF格式?

"1.当然可以,首先要确定自己有一个pdf文档,而且确定目的是需要将pdf文档转换为word格式,然后我们将现有文档通过迅捷pdf转换器软件打开。2.通过选择PDF转换页面功能其中的PDF文件转WORD项目拖入文件。3.接着在迅捷pdf转换器下方按自己的需要是否更改文件名,然而在保存类型中选择*.doc选项。4.全部设置完成点击开始转换,确定自己设置好路径、更改文件名和保存类型即可。5.转换完成之后的word文档同样可以通过迅捷pdf转换器重新转换成一开始的pdf文档。"1.当然可以,首先要确定自己有一个pdf文档,而且确定目的是需要将pdf文档转换为word格式,然后我们将现有文档通过迅捷pdf转换器软件打开。2.通过选择PDF转换页面功能其中的PDF文件转WORD项目拖入文件。3.接着在迅捷pdf转换器下方按自己的需要是...

javascript源代码如何压缩成那种没有空格没有换行的

你可以在网上找一下javascript format,这是在线压缩工具,或者你可以使用 YUI Compressor,还有好多有名的压缩工具

javascript代码比较乱怎么排列。或者有哪种软件好使?

在百度里搜索“代码格式化”,第一个应该是“JavaScript/HTML格式化 - 站长工具”,点击进去,把代码放进输入框试一下,你这个代码应该可以格式化的。

(3款图片压缩工具推荐)怎样把照片缩小尺寸

Picdiet Picdiet是一款在线批量压缩图片神器,依靠独特且强悍的JavaScript算法,能极速压缩80%的图片体积,而不损害其质量;仅通过浏览器来压缩图片大小,压缩图片极快并且不会导致隐私或敏感图片泄漏给第三方 自定义压缩后输出图像质量:无图像尺寸和数量限制、没有文件大小限制,滑动可查看压缩前后对比:改图...

如何对 js 源代码进行压缩?

7. 工具助力,一键压缩最后,借助专业的压缩工具如UglifyJS和JShaman Minify,它们自动执行上述步骤,将你的代码压缩到极致,释放出极致的性能潜力。例如,看看压缩前后的差异:未压缩的代码清晰易读,但体积较大。未压缩代码:// 这是一个示例函数 function exampleFunction(input) { var output = input ...

javascript 压缩工具,多项目公用 grunt 插件(grunt-contrib-clean,grunt...

npm install -g slow-cli #安装前端构建工具cd path/to/project #进入到项目更目录slow init #初始化构建工具配置 (会自动生成 个.slow的文件,可以通过.gitignore之类的 防止提交到代码库)slow build # 构建工程(编译压缩js,css等文件)可以看到项目地下的build文件夹有压缩后的文件 ...

求1个C#压缩JS 后 JS 还能用的源代码。

首先使用dojo的工具shrinksafe(http://shrinksafe.dojotoolkit.org/)压缩一下,dojo的这个工具会去掉注释,他的压缩不是简单的替换变量,而是利用了mozilla的一个工具,对js解析后才压缩,确保压缩后的代码不会出错。dojo压缩后,并不会减少太多,下一步可以使用http://javascriptcompressor.com/这个站点进行...

求助前端JS都是用什么加密的

输入 Dean Packer,pack 一下,得到这么一串东西,是不是看着非常像被压缩和混淆过的代码?把上面那串意义不明物拿来 unpack 一下,得到了原文。实际上 Dean Packer 只是对源码进行了一个字符串变换,没有深入到代码语法层面,你可以拿 "Hello world, 你好师姐" 来试试。用Online JavaScript beautifier...

Web前端:10个JavaScript图表插件和库

1. Chartist.js——这款库对新手友好,即使是那些不习惯Excel的人也能轻松上手。它的图表DPI自适应,无论在台式机、平板还是手机上都能完美展现。基于SVG的设计,保证了跨平台的兼容性,且开源的特性使其更具灵活性。2. Chart.js——小巧而强大的Chart.js,适合轻量级项目,压缩后仅11kb。它提供六...

JavaScript如何调试有哪些建议和技巧附五款有用的调试工具

事实上,我是在90年代从Borland的C开发者环境中学习的调试基础。断点、条件断点、监视与最新版Chrome开发者工具是完全相同的。2000年左右,我在Java中捕获到第一例异常。堆栈跟踪(Stack traces)的概念依然适用,即使JavaScript术语将其称作错误(Error),检查堆栈跟踪仍然和以前一样有用。 有些知识点是前端开发特有的。

有没有好用的压缩图片的软件 好用的压缩工具 图片压缩工具哪个好用 视频压缩app哪个好用 目前最好用的压缩软件 电脑好用的压缩软件 好用免费的压缩软件 好的压缩软件 压缩文件用哪个软件好
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样从胶南到青岛流亭机场? 急,胶南到流亭机场怎么走? 胶南汽车站到流亭国际机场怎么走 本店有一名60岁左右的工人左手大拇指因违规操作而受工伤!鉴定是十级伤... "英发"这个牌子怎么样? 去游泳选择什么牌子泳衣比较好啊?表示没有经验,不会挑啊! 请问涂刷在防水卷材上的白色反光涂料具体叫什么名字?(好象是起美观隔热... 海洛斯国际集团(中国)实业有限公司企业简介 smeg简介 我的电脑信号线断了根针,请问怎么维修,费用高吗?还是只需要换线就行 从国外向香港汇丰银行汇美元,汇丰要收多少手续费 手动压缩js,css文件和gzip压缩的区别 如何在香港的汇丰银行开个人美元账户? 如何在香港的汇丰银行开个人美元账户? js代码压缩! 香港汇丰美金怎么换成人民币 香港汇丰美金怎么换成人民币 如何用nodejs压缩文件,生成tar包 绑定微信的什么是证件号? 香港汇丰里的美金怎么转成人民币 香港汇丰里的美金怎么转成人民币 js文件 压缩成一个 是怎么弄的 jscompress压缩失败文件 微信实名认证里的证件号是什么 汇丰银行公司账户美金转港币怎么转 汇丰银行公司账户美金转港币怎么转 JS的压缩其实就是把js定义当中的一些长字符串用短... 办理汇丰银行的美元卡需要什么条件 办理汇丰银行的美元卡需要什么条件 微信证件号 支付宝牛牛挂控制尾数是真的吗 压缩的JS文件怎么修改呢 如何使用 node.js 生成 zip 压缩包 压缩后的JS代码怎样解压缩? 支付宝抢红包斗牛怎么控制尾数大小 把vars.js压缩为vars.rar压缩文件怎么操作 支付宝红包金额有没有软件可以修改尾数 JS的压缩就是去掉JS当中的空格吗?那这样能有多大... 谁有红包软件控制来合作 JS文件压缩优化后会影响文件本身执行吗 微信抢红包尾数雷数值既然可以随意控制?真相你了解吗 如何使js压缩文件gzjs文件生效 支付宝发群红包编号可以预测下个红包尾数吗? 怎样将js 压缩成 jsgz 文件 支付宝红包尾数0到9哪个出的几率大 支付宝口令红包为什么限制次数? 支付宝红包存在漏洞吗? 支付宝一天红包限制多少笔数,转账限制多少笔数。 支付宝收款码,不能收入红包抵用了,怎么解封?别... 在授权登录软件时候。按微信‖出现了两个不同的微信名是不是就是是说曾经登陆?