【发布时间】:2016-03-30 07:59:59
【问题描述】:
我终其一生都无法弄清楚如何让 Sprockets 指示哪个文件导致了编译错误。我只是收到如下错误:
CoffeeScript
在 14671 毫秒内完成 500 次内部服务器错误(ActiveRecord:281.4 毫秒)
ExecJS::RuntimeError - SyntaxError: [stdin]:1:5: unexpected ,:
execjs (2.6.0) lib/execjs/external_runtime.rb:84:in `extract_result'
可以通过在包含的 .coffee 文件中添加以下无效语法来触发:
test,
萨斯
在 14671 毫秒内完成 500 内部服务器错误(ActiveRecord:281.4 毫秒)
Sass::SyntaxError - “0”后的 CSS 无效:预期的表达式(例如 1px,粗体)是“;”:
sass (3.4.20) lib/sass/scss/parser.rb:1179:in `expected'
可以通过将分号添加到 .sass 文件来触发,如下所示:
.test
top: 0;
如果出现警告,服务器日志会显示一些有用的信息,例如
/path/to/file.sass 的第 9 行警告: 这个选择器没有任何属性,不会被渲染。
但是,语法错误似乎只是呈现 500 错误并告诉我错误的行和列,但不告诉我它在哪个文件中。我已经挖掘了回溯,但它们没有给出任何指示发生错误的文件。如何让输出显示发生 SyntaxError 的文件?
版本(撰写本文时的所有最新版本):
- Rails 4.2.5
- Sprockets-Rails 3.0.0
- 链轮 3.5.2
- Sass-Rails 5.0.4
- 萨斯 3.4.20
- Coffee-Rails 4.1.0
- 咖啡脚本 2.4.1
- Coffee-Script-Source 1.10.0
【问题讨论】:
标签: ruby-on-rails coffeescript sprockets