Rails 无故编译 sass partials

Posted

技术标签:

【中文标题】Rails 无故编译 sass partials【英文标题】:Rails compiles sass partials without any reason 【发布时间】:2016-01-05 13:13:18 【问题描述】:

我正在构建一个 Rails 应用程序,但我在生产中遇到了一个奇怪的问题:当 capistrano 编译资产时,Rails 想要创建我包含在 application.sass 中的所有部分的 css 版本,并且由于变量而中断了部署和我在这个部分中使用的 mixins。

在我的 application.sass 中

@import compass
@import header // _header.sass file  
@import footer // _footer.sass file  
@import content // _content.sass file  
...  

我不明白为什么,因为在另一个项目中我没有这个问题。

这是我的 assets.rb 文件

Rails.application.config.assets.version = '1.2'
Rails.application.config.assets.precompile += %w( email.css newsletter.css maintenance.css noscript.css )

有谁知道如何告诉 Rails 不编译 css 文件中的所有部分? 感谢您的帮助!

我的申请: - 宝石'rails','4.2.5' - gem 'sass-rails', '~> 5.0' - gem 'compass-rails',github:'Compass/compass-rails',分支:'master' - gem 'capistrano', '~> 3.1' - gem 'spring', '~> 1.3.4'

【问题讨论】:

【参考方案1】:

在网上花了好几个小时后,我终于发现了罪魁祸首:Froala gem

通过查看插件的源代码和预编译资产列表,他们有一个名为“plugins”的文件夹,该文件夹与个人文件夹同名。这意味着我的带有 sass 部分的插件文件夹也被编译了!修复它的方法是重命名我自己的“插件”文件夹。

【讨论】:

以上是关于Rails 无故编译 sass partials的主要内容,如果未能解决你的问题,请参考以下文章

预编译时的 Rails 生产 bootstrap-sass 错误

Sass :: SyntaxError从预编译中防止Heroku Rails应用程序

rails .each 无缘无故地跳过第二个元素

预编译时的 Sass 未定义变量

Rails:预编译资产缺少节点模块

CSS中的Rails预编译错误