Yui Compressor 压缩js、css
2016-08-02 00:00
323 查看
依赖jar:yuicompressor-2.4.2.jar
File dir = new File("E:\\workspace\\JSCompress\\test.js"); int linebreakpos = -1; boolean munge = true; boolean verbose = false; boolean preserveAllSemiColons = false; boolean disableOptimizations = false; public void testMain() throws Exception { checkFile(dir); } public void checkFile(File file) throws Exception { if (file.getName().endsWith(".svn")) return; if (file.isFile()) { jsZip(file); return; } File[] files = file.listFiles(); if (files == null || files.length == 0) return; for (File f : files) { if (file.getName().endsWith(".svn")) return; if (file.isFile()) { jsZip(file); continue; } checkFile(f); } } public void jsZip(File file) throws Exception { String fileName = file.getName(); System.out.println(fileName); if (fileName.endsWith(".js") == false && fileName.endsWith(".css") == false) { return; } Reader in = new FileReader(file); String filePath = file.getAbsolutePath(); File tempFile = new File(filePath + ".tempFile"); Writer out = new FileWriter(tempFile); if (fileName.endsWith(".js")) { JavaScriptCompressor jscompressor = new JavaScriptCompressor(in, new ErrorReporter() { public void warning(String message, String sourceName, int line, String lineSource, int lineOffset) { if (line < 0) { System.err.println("\n[WARNING] " + message); } else { System.err.println("\n[WARNING] " + line + ':' + lineOffset + ':' + message); } } public void error(String message, String sourceName, int line, String lineSource, int lineOffset) { if (line < 0) { System.err.println("\n[ERROR] " + message); } else { System.err.println("\n[ERROR] " + line + ':' + lineOffset + ':' + message); } } public EvaluatorException runtimeError(String message, String sourceName, int line, String lineSource, int lineOffset) { error(message, sourceName, line, lineSource, lineOffset); return new EvaluatorException(message); } }); jscompressor.compress(out, linebreakpos, munge, verbose, preserveAllSemiColons, disableOptimizations); } else if (fileName.endsWith(".css")) { CssCompressor csscompressor = new CssCompressor(in); csscompressor.compress(out, linebreakpos); } out.close(); in.close(); file.delete(); tempFile.renameTo(file); tempFile.delete(); } public static void main(String[] args) { TestJsZip tjz = new TestJsZip(); try { tjz.jsZip(new File("F:/xsd/common.js")); } catch (Exception e) { e.printStackTrace(); } }
相关文章推荐
- 用 YUI Compressor 压缩和混淆 JS 和 CSS
- 用 YUI Compressor 压缩和混淆 JS 和 CSS
- 使用 YUI Compressor 压缩文件夹下的所有js和css文件
- 用 YUI Compressor 压缩和混淆 JS 和 CSS
- 用 YUI Compressor 压缩和混淆 JS 和 CSS
- 使用 YUI Compressor 批量压缩JS/CSS
- 使用YUI Compressor 压缩js和css
- 利用YUI Compressor对JS、CSS文件进行压缩
- 结合YUI Compressor在WebStrom添加Watcher实现编辑js(css)文件时自动压缩(包括自定义监听范围Scope)
- js/css 压缩工具推荐
- 高性能WEB开发(7) - JS、CSS的合并、压缩、缓存管理
- 提高页面相应速度之压缩优化js和css文件
- 【整理收藏】合并、压缩JS、CSS文件减少页面HTTP请求数的方法
- apache对压缩后的css,js做expries
- [转]yuicompressor-2.4.2,js,css代码压缩
- maven yui插件压缩js,css
- js,css 压缩和解压缩工具
- 关于压缩js和css的小软件开发的随想
- 服务端合并和压缩JS和CSS文件