ruby-on-rails - Rails Assets 管道不指示哪个文件产生了错误

标签 ruby-on-rails coffeescript sprockets

我一生都无法弄清楚如何让 Sprockets 指示哪个文件导致了编译错误。我只是收到如下错误:
CoffeeScript

Completed 500 Internal Server Error in 14671ms (ActiveRecord: 281.4ms)

ExecJS::RuntimeError - SyntaxError: [stdin]:1:5: unexpected ,:
  execjs (2.6.0) lib/execjs/external_runtime.rb:84:in `extract_result'
<backtrace continues>


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

Completed 500 Internal Server Error in 14671ms (ActiveRecord: 281.4ms)

Sass::SyntaxError - Invalid CSS after "0": expected expression (e.g. 1px, bold), was ";":
  sass (3.4.20) lib/sass/scss/parser.rb:1179:in `expected'
<backtrace continues>


可以通过将分号添加到 .sass 文件来触发,如下所示:
.test
  top: 0;
在出现警告的情况下,服务器日志会显示一些有用的信息,例如

WARNING on line 9 of /path/to/file.sass: This selector doesn't have any properties and will not be rendered.


但是,语法错误似乎只是呈现 500 错误并告诉我错误的行和列,但不告诉我它在哪个文件中。我已经挖掘了回溯,它们没有给出任何文件的指示发生错误。如何获得输出以显示发生 SyntaxError 的文件?
版本(撰写本文时的所有最新版本):
  • rails 4.2.5
  • sprockets rails 3.0.0
  • sprockets 3.5.2
  • Sass-Rails 5.0.4
  • 萨斯 3.4.20
  • 咖啡轨 4.1.0
  • CoffeeScript 2.4.1
  • CoffeeScript 源 1.10.0
  • 最佳答案

    继续阅读服务器中的 500 错误。它应该显示导致错误的文件和文件行。下面的例子说 应用程序/ Assets /样式表/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'
    

    关于ruby-on-rails - Rails Assets 管道不指示哪个文件产生了错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34443214/

    相关文章:

    ruby-on-rails - 在生产环境中覆盖后端 Assets

    javascript - 如何在我的 sprockets 预处理 js 文件(不是 View )中获取 escape_javascript 和其他助手?

    ssl - .scss 中的 Assets 不像其他应用 Assets 那样使用 HTTPS 编译

    ruby-on-rails - 带或不带 ActiveScaffold 的 Ruby On Rails html5 存储离线 CRUD 应用程序

    ruby-on-rails - 在 ruby​​ 中创建逗号分隔的 csv 文件

    javascript - 页面加载后如何执行 jquery 动画滚动?

    backbone.js - 您如何在Coffeescript中进行匿名类(class)?

    ruby-on-rails - "taken"是 ruby​​ 中的关键字吗?

    ruby-on-rails - 载波:将版本名称移到文件名的末尾,而不是前

    javascript - 是否可以保留单行注释? (用CoffeeScript编写greasemonkey/userscripts)