2
我想在我的Rails项目中将所有css
文件更改为scss
。如何将所有CSS文件更改为SCSS
文件夹结构是不可预测的,就像
stylesheets - A - A_1 - a_1.css
- B - B.css
- C - C_1 - c_1_1 - c_1_1.css
- C_2 - c-2.css
- d.css
我写了一些代码,但它只能赚css
文件,该文件是在./stylesheets
成为scss
:
require 'fileutils'
Dir.chdir('app/assets/stylesheets')
Dir.glob('./*.css').each do |f|
puts f
FileUtils.mv f, "#{File.basename(f,'.*')}.scss"
end
如果有更好的就像shell脚本一样,它也是可以接受的。
感谢@maxpleaner,我修改成这样:
require 'fileutils'
Dir.chdir('app/assets/stylesheets')
Dir.glob("./**/*.css").each do |path|
#p path
FileUtils.mv path, "#{File.dirname(path)}/" + "#{File.basename(path,'.*')}.scss"
end
,它工作正常。但是我不知道这是否会破坏什么东西或者不是(尤其是application.css)
Dir.glob("./**/*.css").each do |path|
:
Ruby的[Dir](http://ruby-doc.org/core-2.3.1/Dir.html)类可以帮助你递归下降到一个层次结构,但它往往会浪费CPU和RAM资源。我建议阅读Ruby的[Find](http://ruby-doc.org/stdlib-2.3.1/libdoc/find/rdoc/Find.html)类的文档,因为它专门为这种类型的任务编写。 –
CPU和RAM不是问题,因为它只运行一次。 –