不熟悉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
- 浏览 2173
- 评论(1)
- 论坛回复 / 浏览 (1 / 2433)
- 查看更多
相关推荐
js和css批量压缩工具,项目中用过,可以正常使用,方便系统在上线时批量压缩js和css文件
批量JS压缩美化CSS压缩工具SoCompressor 批量JS压缩美化CSS压缩工具SoCompressor 主要好处可以批量压缩js css 十分强大的工具 不要再一个个复制粘贴啦
改工具可以批量压缩js、css文件。 压缩js,将js文件拷贝到文件夹in中,执行run-min.bat,文件夹out中即为压缩后的js文件。 压缩css,将css文件拷贝到文件夹css_in中,执行run-css.bat,文件夹css_out中即为压缩后的...
使用Ant构建批量压缩js、css文件脚本
Js 压缩, 支持一次压缩多个 js 文件, 并附加版权信息 Css 压缩,支持一次压缩多个 css 文件,并可选择压缩强度
2: js和css文件的输入输出目录最好不同,否则会把压缩完成后,会覆盖掉被压缩文件。 3:可以遍历文件夹下的子文件夹!并全部压缩! 4: 文件中如果有不可去点汉字,有乱码问题,需手动修改!
Javascript、CSS压缩工具(支持批量压缩),很好用,JS的压缩率不如YUICompressor高,但非常好用~
YUIcompressor批量压缩工具,真好真好,真的很好.
Javascript与CSS压缩工具(支持批量压缩),压缩率高,很好用
压缩JAVASCRIPT 压缩CSS
js、css压缩加密工具,快速批量压缩js和css,混淆加密js
一款实用的JS与CSS批量压缩/混淆/美化/格式化工具,因为引入了Node.js和UglifyJS,所以软件压缩包会有10MB之多,其实程序只有几百KB。工具说明: 1.压缩、混淆、美化、格式化都支持,断网条件下可以使用,软件不是...
该压缩工具基于 Google Closure Compiler,采用默认的Simple模式进行压缩,工具由一个jar包和一个批处理文件组成,实现了对目标文件夹内所有的js和css进行压缩替换的功能。工具简单方便,下载并解压后,直接双击GCC_...
1.批处理右键一键压缩; 2.支持批量压缩及单个文件压缩; 3.支持gbk和utf-8文件格式; 4.可整个目录压缩,包括子目录; 5.可单个js,css文件压缩。
Js/Css/Images 一键压缩功能,ps.需先配置node.js运行环境
使用步骤 http://blog.csdn.net/wz361790599/archive/2011/01/13/6134416.aspx 若使用微软的AjaxMind 请转到 http://download.csdn.net/source/3015371
支持批量压缩,带错误提示,个人经常使用的小工具
JS-CSS压缩工具,界面化操作平台,可以直接批量选择发布文件或者全部部分文件,自动识别压缩代码
* 可添加多个目录文件,批量压缩JavaScript,CSS文件; * 可设置发布目录,将压缩后的文件集中保存到该处; * 可将调试信息保存到文件中; * 可保置当前压缩文件列表,方便下次重新打开; * 在读入文件列表时可设置文件...