如何将所有CSS文件更改为SCSS

时间:2016-11-11 16:41:04

标签: css ruby shell

我想在我的Rails项目中将所有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

它工作正常。

1 个答案:

答案 0 :(得分:1)

要获取项目中所有CSS文件的路径,可以使用:

Dir.glob("./**/*.css").each do |path|

但是我不确定这是否会破坏任何东西(特别是application.css)。可能首先在git中提交一个好主意。