【发布时间】:2017-07-07 14:13:19
【问题描述】:
如何调试在 Rails 5 中编译的资产?
使用 Chrome,我没有收到非常有用的错误消息。如果我从命令行运行rake assets:precompile,它也会失败,并且对我的帮助也不够。
我从 Rails 4.2 升级到 5 时遇到的问题。在 application.css.scss 中,我有 @import "nifty"。 nifty.scss 与其他用于漂亮主题的 SCSS 文件一起存在于 vendor/assets/stylesheets/nifty 中。 nifty.scss的要点是:
@import "_variables";
@import "_layout";
@import "_animations";
@import "_mainnav";
当 Rails 尝试编译资源时,它会以 @import _animations 失败,错误为 Undefined variable: "$enable-animation"。虽然,这个变量是在_variables; 中定义的。即使我不需要,我也尝试在 _animations 的顶部添加@import _variables;。这修复了该错误,但随后其他非常相似的错误出现更多错误,直到我几乎 @import 每个其他 scss 文件中的每个 scss。
我认为问题不在于 SASS 文件中的变量,而是其他地方的问题。我尝试将byebug 作为断点放在别处,但似乎找不到问题。
还有其他方法可以调试资产管道和资产编译吗?
【问题讨论】:
-
让我们知道完整的堆栈跟踪。这样做
rake assets:precompile --trace
标签: css ruby-on-rails sass asset-pipeline ruby-on-rails-5