使用Rails 3.1的资产管道预编译.scss清单文件

ruby-on-rails- CSS

米亚ProDavaid

2020-03-24

Rails 3.1的发行版在预编译扩展名为sass的清单文件时存在一些怪异的问题scss奇怪的是,默认清单文件可以正常application.scss编译,我可以在下看到它public/assets/

但是,当我尝试编译自定义清单文件时,不会创建任何内容。我已经在生产配置中启用了预编译选项。

config.assets.precompile += %w( user.scss admin.scss )

据我所知,我正在正确地运行预编译rake任务。

rake assets:precompile RAILS_ENV=production

也许这会有所帮助。当我创建两个扩展名为css而不是scss的新清单文件并要求其中包含原始的scss文件时,这些新清单文件将受到尊重并进行正确编译。为什么要application.scss得到这种特殊待遇而不是其他Sass清单文件?

第3441篇《使用Rails 3.1的资产管道预编译.scss清单文件》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
番长猴子 2020.03.24

在预编译列表中包括已编译的文件名:

config.assets.precompile += %w( user.css admin.css )

另外,您可能想重命名原始文件,app/assets/stylesheets以将编译后的扩展名包含在原始文件名中,因此很清楚发生了什么:

user.scss -> user.css.scss
admin.scss -> admin.css.scss
LGil 2020.03.24

我怀疑这可能是错误。

这些application文件被视为默认项目的主文件。默认情况下,预编译列表中包含以.css和.js结尾的代码。

您描述的行为(扩展名为.css的行为)是正确的行为。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android