Rails资产管道不指示哪个文件产生错误

swr*_*bel 6 ruby-on-rails coffeescript sprockets

我不能为我的生活找出如何让Sprockets指出哪个文件导致编译错误.我只是得到如下错误:

CoffeeScript的

在14671ms完成500内部服务器错误(ActiveRecord:281.4ms)

ExecJS :: RuntimeError - SyntaxError:[stdin]:1:5:意外,:
  execjs(2.6.0)lib/execjs/external_runtime.rb:84:在`extract_result'中
<backtrace continue>

可以通过将以下内容添加到包含的.coffee文件的无效语法来触发:

test,
Run Code Online (Sandbox Code Playgroud)

萨斯

在14671ms完成500内部服务器错误(ActiveRecord:281.4ms)

Sass :: SyntaxError - "0"后的无效CSS:期望的表达式(例如1px,粗体),是";":
  sass(3.4.20)lib/sass/scss/parser.rb:1179:in'repected'
<backtrace继续>

可以通过将分号添加到.sass文件来触发,如下所示:

.test
  top: 0;
Run Code Online (Sandbox Code Playgroud)

在警告的情况下,服务器日志显示有用的东西

警告在/path/to/file.sass的第9行:此选择器没有任何属性,也不会呈现.

但是,语法错误似乎只是呈现500错误并告诉我错误的行和列,而不是它所在的文件.我已经通过回溯挖掘它们并没有给出任何文件的指示发生了错误.如何获取输出以显示发生SyntaxError的文件?

版本(撰写本文时的最新内容):

  • Rails 4.2.5
  • Sprockets-Rails 3.0.0
  • 链轮3.5.2
  • Sass-Rails 5.0.4
  • Sass 3.4.20
  • Coffee-Rails 4.1.0
  • 咖啡脚本2.4.1
  • Coffee-Script-Source 1.10.0

Mil*_*eld 1

继续阅读服务器中的 500 错误。它应该显示导致错误的文件和文件行。下面的示例显示app/assets/stylesheets/test.sass:2

Completed 500 Internal Server Error in 152ms (ActiveRecord: 0.0ms)

ActionView::Template::Error (Invalid CSS after "0": expected expression (e.g. 1px, bold), was ";"):
    2: <html>
    3: <head>
    4:   <title>StackoverflowQuestions</title>
    5:   <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
    6:   <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
    7:   <%= csrf_meta_tags %>
    8: </head>
  app/assets/stylesheets/test.sass:2
  app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__1109435584510058936_70275420820360'
Run Code Online (Sandbox Code Playgroud)