1

私の質問は、私の状況にまだ答えを提供していない他のいくつかの質問に似ています

アプリの Gemfile に jQuery gem を含めています。

gem 'jquery-rails'

そして、application.js で:

//= require jquery
//= require jquery-ui
//= require jquery_ujs
...
//= require_tree .

私の development.rb は

# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true

私の資産はプリコンパイルされていません。パブリック/資産はありません。ローカルではすべてが順調に進んでいます。しかし、heroku にプッシュすると、ページに別の application.js ファイルが含まれます。マニフェスト ファイルではなく、縮小版の jQuery が含まれています。したがって、jQuery が 2 回含まれています。私のページのソースは次のようになります。

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
...
<script src="/assets/application.js?body=1" type="text/javascript"></script>

をクリックする/assets/application.js?body=1と、縮小された jQuery が表示されます。アプリをローカルで実行してクリックする/assets/application.js?body=1と、マニフェストが表示されます。development.rbに追記してみた

 config.serve_static_assets = false

役に立ちませんでした。また、アセットとキャッシュを複数回クリアしました。私のために働く唯一のものは設定です

config.assets.debug = false

しかし、デバッグに影響しない他のオプションがあるかどうか知りたいです。

4

3 に答える 3

1

この行を削除しました

//= require_tree .

javascriptsにサブフォルダーを作成し、javascriptディレクトリ内のすべてのjsファイルをapplication.jsを除くそのサブフォルダーに移動しました

そしてこの行を書きました

//= require_tree ./sub_folder_name

それはすばらしく、働いています。

1 つの重要な注意事項:

javascript_include_tagによって手動で、もう 1 つは application.js によって同じファイルを 2 回インクルードしているため、これが原因である可能性があり ます。その場合は、一度含める必要があることを最初に確認してください。

于 2013-05-21T03:04:26.620 に答える
0

Development と Production であり、異なるはずです (/app/assets であり、開発では縮小されず、public/assets であり、実稼働で縮小されます。

二重インクルードに関しては、実動 Web 提供ページに両方がある場合、アプリケーションで application.html.erb のようなページが定義されているかどうかを確認します。その場合は、削除してください。

于 2013-05-21T03:45:54.623 に答える
0

アセットのプリコンパイルに関する herokuのこの記事をご覧ください。heroku にプッシュすると、次のセクションの周りにエラー メッセージが表示されますか。

-----> Preparing Rails asset pipeline
       Running: rake assets:precompile

?

于 2012-09-19T18:52:53.420 に答える