我有一个应用程序,它具有三个不同的 CSS 主题,每个主题都有十几种配色方案。在开发中一切正常,但资产管道给了我一些奇怪的问题。
基本上我有几个这样的文件
/themes
/cool-theme
_theme.scss
/color-schemes
red.scss
这个想法是我预编译所有 *.scss 文件,除了部分文件(以下划线开头),因为它们包含在 SASS 中。所以我正在使用这段代码:
stylesheets_directory = "#{Rails.root}/app/assets/stylesheets"
config.assets.precompile += Dir.glob("#{stylesheets_directory}/**/*.scss").
map{|f| f[stylesheets_directory.size+1..-1]}.
select do |file|
if config.assets.precompile.include?(file)
puts "Already have #{file}"
false
elsif File.basename(file)[0...1] == "_"
puts "Partial detected #{file}"
false
else
puts "Including #{file}"
true
end
end
代码运行良好,并在 assets:precompile 期间显示了我期望的输出。排除应有的一切,并包括应有的一切。
问题是 /public/assets 目录从不包含除 application.css 之外的任何 css 文件。它缺少 red.css、blue.css 等...
我在看什么?