不熟悉rake,自己整了这个,使用的是yui的压缩工具,使用前需要更改引用yui压缩工具的路径
语法: genmin.rb <source dir> <mini dir>
如果要忽略某些目录或者文件,可在其当前目录下建立名为(.minignore)的文件,每一行可写一个要忽略的文件名或者目录名,目录不用加/
如果压缩前要做合并之类的动作,可在其当前目录下建立名为(.cmd)的文件,每一行可写一条要执行的shell语句
会生成genmin.log来记录运行或压缩过程中的错误
wrongArgu = false
if ARGV.length == 1 && ARGV[0] == "--help"
puts "genmin.rb <source dir> <destination dir>"
wrongArgu = true;
end
unless wrongArgu
if ARGV.length == 2
ARGV.each do |dir|
unless File.exist?(dir) || File.directory?(dir)
puts "#{dir} is not a directory or not exist"
wrongArgu = true
break
end
end
else
puts "wrong nubmer of arguments (#{ARGV.length} for 2)"
wrongArgu = true
end
end
unless wrongArgu
$log = File.new('genmin.log','w+')
def makemin(file,mfile)
cmd="java -jar D:\\bin\\yc.jar \"#{file}\" --charset utf-8 -o \"#{mfile}\""
cmd.gsub!(/\//,"\\")
puts cmd
o=`#{cmd}`
o.strip!
if o && !o.empty?
$log<<o if $log
end
end
def genmin(sDir,mDir)
mDir = File.expand_path(mDir)
sDir = File.expand_path(sDir)
fcmd = sDir + '/' + '.cmd'
if File.exist?(fcmd)
opath = Dir.pwd
Dir.chdir(sDir)
fc = File.new(fcmd,'r')
cmds = fc.readlines
fc.close
cmds.each_index{|i| cmds[i].sub!(/\n/,'')}
cmds.each do |x|
o=`#{x}`
if o && !o.empty?
$log<<o if $log
end
end
Dir.chdir(opath)
end
fignore = sDir + '/' + '.minignore'
ignores = []
if File.exist?(fignore)
f=File.new(fignore,'r')
ignores = f.readlines
f.close
ignores.each_index {|i| ignores[i].sub!(/\n/,'')}
end
ignores<<'.'<<'..'
Dir.foreach(sDir) do |fname|
unless ignores.include? fname
sfname = sDir + '/' + fname
mfname = mDir + '/' + fname
if File.directory? sfname
unless File.exist?(mfname)
Dir.mkdir(mfname)
end
puts 'genmin ' + sfname + ' to ' + mfname
genmin(sfname,mfname)
else
ext = File.extname(sfname)
if ['.js','.css'].include?(ext)
makemin sfname,mfname
end
end
end
end
end
genmin(ARGV[0],ARGV[1])
$log.close if $log
end
分享到:
- 2009-04-29 16:48
- 浏览 2201
- 评论(1)
- 论坛回复 / 浏览 (1 / 2456)
- 查看更多
相关推荐
"js和css批量压缩工具" 正是这样一个解决方案,它可以帮助我们在项目部署前有效地压缩和优化资源,提高网站的整体性能。 批量压缩的优势在于它可以一次性处理大量的文件,大大节省了手动操作的时间。对于大型项目或...
本教程将深入探讨Js和Css的压缩技术,包括批量处理方法,以及如何在压缩过程中添加版权信息和调整压缩强度。 一、Js压缩 JavaScript文件通常包含大量的注释、空格和换行符,这些在代码执行时并不必要,但却会增加...
改工具可以批量压缩js、css文件。 压缩js,将js文件拷贝到文件夹in中,执行run-min.bat,文件夹out中即为压缩后的js文件。 压缩css,将css文件拷贝到文件夹css_in中,执行run-css.bat,文件夹css_out中即为压缩后的...
批量压缩js和css文件不仅可以提升网站性能,还可以帮助开发者遵循持续集成和持续部署(CI/CD)的最佳实践。通过自动化这一过程,我们可以确保每次代码更新时都能得到压缩后的版本,从而减少用户等待时间,提升用户...
因此,为了提升网页性能,开发者通常会使用"压缩JS和CSS工具"对这些文件进行优化,减少它们的大小,从而加快页面加载速度。本文将深入探讨JS和CSS压缩的原理、方法以及TBCompressor这款工具的应用。 JS和CSS压缩的...
批量JS压缩美化CSS压缩工具SoCompressor就是这样一个工具,它专为开发者设计,帮助他们快速有效地处理JavaScript(JS)和层叠样式表(CSS)文件,以减小文件大小,提高页面加载速度。 JavaScript和CSS文件是网页...
"Javascript、CSS压缩工具(支持批量压缩)"就是这样一款实用的工具,它能够快速有效地处理多个文件,节省带宽,提升网页加载速度。 1. JavaScript压缩: JavaScript压缩的主要目的是去除代码中的空白、注释以及...
例如,如果你有一个名为"CSSJS批量压缩优化"的压缩包,其中包含了多个CSS和JS文件,你可以一次性将它们全部导入到YUI Compressor中进行压缩。这一步骤通常包括以下过程: 1. **下载与安装**:首先,你需要从官方...
本篇文章将深入探讨“JAVA批量压缩JS”的主题,以及如何利用工具或自定义程序来实现对JavaScript和CSS的压缩,从而提高网页加载速度和整体性能。 一、JavaScript与CSS压缩的重要性 1. 减少文件大小:未压缩的JS和...
2: js和css文件的输入输出目录最好不同,否则会把压缩完成后,会覆盖掉被压缩文件。 3:可以遍历文件夹下的子文件夹!并全部压缩! 4: 文件中如果有不可去点汉字,有乱码问题,需手动修改!
Javascript与CSS压缩工具(支持批量压缩),压缩率高,很好用
- **yuicompressor-2.4.6.jar**: 这是YUI Compressor的Java可执行文件,是用于压缩JS和CSS的核心组件,支持去除代码中的空格、换行和注释,从而减小文件大小。 - **使用说明.txt**: 提供了详细的工具使用指南,帮助...
YUI Compressor 是 Yahoo 开发的工具,支持CSS和JavaScript的压缩,同时也提供了Java和JavaScript版本。 使用JS CSS压缩工具时,开发者通常会将其整合到构建流程,如使用 Gulp、Grunt 或 Webpack 这样的任务运行器...
"JS_CSS文件压缩工具(2)"提供了批量压缩功能,这意味着用户可以一次性处理多个JS或CSS文件,极大地提高了工作效率。这一特性对于那些拥有大量脚本和样式表的大型项目尤其有用,因为它减少了逐个文件手动压缩的繁琐...
1. 自动化压缩:用户只需上传或输入CSS和JS代码,工具就会自动进行压缩,省去了手动优化的时间。 2. 代码合并:支持将多个CSS或JS文件合并为一个,减少HTTP请求,提升页面加载速度。 3. 保留注释和URL:在压缩过程中...
js、css压缩加密工具,快速批量压缩js和css,混淆加密js
例如,在Gulp中,你可以安装`gulp-yui-compressor`插件,编写任务来自动压缩JS和CSS文件: ```javascript const gulp = require('gulp'); const yuicompressor = require('gulp-yui-compressor'); gulp.task('...
在IT行业中,优化网站性能是至关重要的,其中一项关键技术就是对JavaScript(Js)、CSS和图片(Images)进行压缩。本文将详细介绍如何利用Node.js实现Js/Css/Images的一键压缩功能,以及配置Node.js运行环境的相关...
该压缩工具基于 Google Closure Compiler,采用默认的Simple模式进行压缩,工具由一个jar包和一个批处理文件组成,实现了对目标文件夹内所有的js和css进行压缩替换的功能。工具简单方便,下载并解压后,直接双击GCC_...