如何调试资产提示语法错误?

Gib*_*son 5 assets ruby-on-rails heroku precompile

我试图在一些前端触摸后推送到Heroku,但是在预编译时我有几个错误(我认为语法错误).

问题是,我得到了预编译资产的行号,而不是原始资产的行号,所以我不知道如何调试它.

  ExecJS::ProgramError: Unexpected token: operator (<) (line: 20575, col: 0, pos: 641944)
       Error
       at new JS_Parse_Error (/tmp/execjs20141029-3052-g386xfjs:2357:10623)
       at js_error (/tmp/execjs20141029-3052-g386xfjs:2357:10842)
       at croak (/tmp/execjs20141029-3052-g386xfjs:2357:19067)
       at token_error (/tmp/execjs20141029-3052-g386xfjs:2357:19204)
       at unexpected (/tmp/execjs20141029-3052-g386xfjs:2357:19292)
       at /tmp/execjs20141029-3052-g386xfjs:2357:27484
       at /tmp/execjs20141029-3052-g386xfjs:2357:29977
       at expr_ops (/tmp/execjs20141029-3052-g386xfjs:2357:30735)
       at /tmp/execjs20141029-3052-g386xfjs:2357:30827
       at /tmp/execjs20141029-3052-g386xfjs:2357:31270
Run Code Online (Sandbox Code Playgroud)

mra*_*ruz 3

通常,在这种情况下,您仍然可以在本地编译资产,然后转到编译的 application.js 文件中的相关行。

所以

bundle exec rake assets:precompile

(您需要有一个本地“生产”数据库才能运行它bundle exec rake db:create:all

public/assets/application-some_md5_hash.js然后在编辑器中打开

在你的情况下,你会去排队20575寻找一个疯狂的<地方

确保清理并删除public/assets文件夹,以免意外将其签入版本控制

我很确定这也适用于您通过访问 application-md5stuff.css 拥有时髦 CSS 的情况