2017-02-20 6 views
1

コンストラクタといくつかのメソッドinitを持つJavaScriptクラス(BarChartという名前)を作成しました。ExecJS :: ProgramError:SyntaxError:予期しないトークン:名前<ClassName>

運用環境の資産をあらかじめコンパイルするのに以下のコマンドを実行しましたが、エラーが発生しました。

コマンドは、資産をコンパイル前に使用される:rake assets:precompile RAILS_GROUPS=assets --trace

エラーバックトレース:

rake aborted! 
ExecJS::ProgramError: SyntaxError: Unexpected token: name (BarChart) (line: 24472, col: 6, pos: 952834) 

Error 
    at new JS_Parse_Error (<eval>:3623:11948) 
    at js_error (<eval>:3623:12167) 
    at croak (<eval>:3623:22038) 
    at token_error (<eval>:3623:22175) 
    at unexpected (<eval>:3623:22263) 
    at semicolon (<eval>:3623:22781) 
    at simple_statement (<eval>:3623:25959) 
    at <eval>:3623:23747 
    at <eval>:3623:22954 
    at <eval>:3624:3759 
    at Object.parse (<eval>:3624:3999) 
    at parse (<eval>:3958:22) 
エラーをスロー

JavaScriptクラスは次のように書かれている:

class BarChart 
{ 
    // code goes here 
} 

私はtherubyracerexecjsを追加しましたgemfileのgem。

Ruby:2.2.5

Rails:3.2.2`

PS:私はSOにこのタイプのいくつかの質問をチェックしましたが、問題はどれもJavaScriptのclassに関連していません。

+0

質問を閉じる2つのリクエストがあるようです。 ** close **の質問の理由を教えてもらえますか? JSクラス関連の問題はまだ見つかりませんでした。 –

+1

私はそれを理解していないので、私はそれを閉じるように投票しました - それは私には不明です。あなたの問題のほんの少しの手がかりがない人のところに自分自身を想像し、それを理解できる方法で記述してください。問題を説明する方が良い(「多く」と混同しないでください)、適切な回答を得る機会が増えます。 –

+0

このリンクを確認してください。これがあなたを助けることを願っています。 http://www.academytimes.com/solved/7392211522/rails-5-heorku-deploy-error-execjsprogramerror-syntaxerror-unexpected-token –

答えて

0

JavaScriptはES6に、レール3はエラーES6のコードで書かれています。レールにES6を使用するすべての方法はレール3用ではありません。したがって、私はES6をES5コードに変換しました。

0

BarChartのjsファイルで、letをすべてvarに変更してください。 これで、プリコンパイルが正常に完了します。

0

レール5では、ファイルの名前を.jsから.js.es6に変更する問題を解決しました。奇妙なことに、私のステージングデプロイメントは機能していました。

関連する問題