我的Rails应用程序中的node_modules
文件夹中有一些第三方模块。
我想将它们编译为资产。所以我在做:
Rails.application.config.assets.paths << Rails.root.join('node_modules')
# Only compile js and css files.
Rails.application.config.assets.precompile.push(Proc.new do |path|
puts path
File.extname(path).in? [
'.js', '.css'
]
end)
在其中一个node_modules中,有一个文件node_modules/somelib/src/style/main.scss
(通知.scss)。但是,由于某种原因,此文件仍包含在资产中。上述puts path
语句的输出打印:
node_modules/somelib/src/style/main.css
什么!当它显然是css
文件时,为什么要将其更改为。.scss
?
我需要禁用此行为的原因是有问题的.scss文件有一个@import
语句,Rails不知道在哪里找到(理所当然,它不适用于Rails的眼睛。)所以它抛出一个错误。我需要排除这个scss文件。
答案 0 :(得分:-1)
Sass是世界上最成熟,最稳定,最强大的专业级CSS扩展语言。有关详细信息,请访问https://sass-lang.com/
我认为样式表名称扩展名可以通过此gem更改 - https://github.com/rails/sass-rails