4

rake タスクで障害が発生し、Heroku do にデプロイする際に問題が発生しました

rake assets:precompile

下部には、統合した場合に発生するエラーがあります

エラーはuglifierから発生します。

この問題は、カレンダーに多くのローカライズが含まれていることに関連している可能性があると思われます。

次のように設定して、エラーを回避しました。

# Compress JavaScripts and CSS
config.assets.compress = false

一時ファイルがクリーンアップされているため、ファイルを調べることができませんでした。また、RubyMine のデバッガーをブレークポイントで停止させることもできませんでした。

これがバグである場合、何か考えはありますか? 一時ファイルが削除されないようにする方法はありますか? RubyMine デバッガーを rake タスクで動作させる方法 (はい、EAP 112-291.

rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets レーキが中止されました! 予期しない文字 '' (行: 21454、列: 0、位置: 641761)

新しい JS_Parse_Error (/tmp/execjs20111231-15374-1fve7h4.js:497:22) でのエラー (/tmp/execjs20111231-15374-1fve7h4.js:505:15) での parse_error (/tmp/execjs20111231-15374-15374-1fve7h4)。 js:596:17) で Object.next_token [入力として] (/tmp/execjs20111231-15374-1fve7h4.js:839:17) で次の (/tmp/execjs20111231-15374-1fve7h4.js:943:37) で.semicolon [as 1] (/tmp/execjs20111231-15374-15374-1fve7h4.js:986:38) で prog1 (/tmp/execjs20111231-15374-1fve7h4.js:1527:28) で simple_statement (/tmp/execjs20111231-15374-) 1fve7h4.js:1123:35) /tmp/execjs20111231-15374-1fve7h4.js:1031:35 で /tmp/execjs20111231-15374-1fve7h4.js:1510:32

4

4 に答える 4

6

おそらく、jsファイルの1つに構文エラーがあることに気付くでしょう。これは、ブロックの最後にセミコロンがないか、その他の小さな問題である可能性があります。多くの場合、ブラウザは引き続きjsをロードして機能しますが、uglifierはこれらのエラーで圧縮できません。最初にローカリゼーションファイルを調べ始めます。

エラーが含まれているファイルを見つける1つの方法は、最小限のファイルセットを使用してローカルでプリコンパイルし、破損するまで1つずつ追加することです。セミコロンが欠落していることが原因である場合、破損は追加した最後から2番目のファイルになります。

于 2012-01-01T19:19:46.673 に答える
3

迷子の「デバッガー」ステートメントを削除した後、プリコンパイルされました。おっと。

于 2012-02-06T22:44:28.450 に答える
2

このスレッドを読んでいる人が、Unicode 文字または Rails アプリで「UTF-8 の無効なバイト シーケンス」の問題に遭遇した場合は、これを production.rb ファイルに追加してみてください。

# override default uglifier options so we don't mangle unicode
  config.assets.js_compressor = Uglifier.new(output: {ascii_only: true})

私の場合、uglifier は JavaScript の文字列\udbffを UTF-8 文字に変換していましたが、í¯¿これが最終的に一部の Unicode 正規表現を壊していました。(これはターボ スプロケットと codemirror で発生していましたが、JavaScript が Unicode 文字の ASCII 表現に依存している場合はいつでも発生する可能性があります。)

于 2013-05-30T00:36:30.850 に答える
0

I18N ファイル「jquery-ui-i18n.js」には、各コメントの前に不適切な文字があります。

シェルで「more」を含む最初の 2 行を見ると、間違った文字が表示されます。

<U+FEFF>/* Afrikaans initialisation for the jQuery UI date picker plugin. */
/* Written by Renier Pretorius. */

この文字を削除した後、動作します。

于 2012-03-12T13:18:51.233 に答える