如何在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尝试编译资产时,它会失败并显示错误为Undefined variable: "$enable-animation"
的@import _animations。虽然,此变量在_variables;
中定义。尽管我不需要,但我还是在_animations的顶部添加了@import _variables;
。这修复了这个错误,但是其他非常相似的错误会出现更多的错误,直到我在每个其他scss文件中@import每个scss。
我认为问题不是SASS文件中的变量,而是其他地方的问题。我已经尝试将byebug
作为断点放在其他地方,但似乎无法找到问题。
是否有其他方法可以调试资产管道和资产编译?
答案 0 :(得分:0)
我不确定我能提供帮助。
您可以尝试调试资产管道中涉及的 Spockets 或 GEM 。 RVM是一个隐藏文件夹,你的gems取决于你使用的 Ruby 的版本可能在以下路径中。
.rvm/gems/ruby-2.3.3@myapp/gems/
在那里,我能够找到sprockets-rails-3.2.0,你有几个 .rb文件你可以使用你的sublime编辑器打开你可以在代码中设置一个断点用于示例binding.pry
。
有关pry调试器的详细信息,请查看 pry gem 。
我希望有些事情能解决你的其他问题...