問題タブ [asset-pipeline]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 3.1 アセット パイプライン - public/assets からのファイルがありません - これがデフォルトではないのはなぜですか?
今日の午後、アップグレードした Rails 2.3.x -> 3.1 (rc4) アプリをテスト環境にデプロイした後、すべてのスタイルシートと JavaScript ファイルが 404 エラーを返しました。rake assets:precompile タスクをデプロイ後のスクリプトに追加しましたが、assets フォルダーに予期したプリコンパイル済みファイルがない理由を特定するのに時間がかかりました。
最終的に、デフォルトでは application.css と application.js (+ 非 JS/CSS ファイル) のみが処理されるため、ファイルはコンパイルされませんでした。
次の構成値を次のように変更する必要がありました。
質問: なぜこれがデフォルトではないのですか?
マニフェスト ファイルとして処理する必要のないものはすべて public/assets にコピーされると予想していました。私がアセット パイプラインで読んだことの多くは、基本的に「アセットを app/assets に貼り付け、マニフェスト ファイルを構成すれば、機能するはずです」というものです。assets:precompile タスクは何をしているのかについての情報を吐き出さなかったので、私たちが思っていたファイルを見ていないだけだと判断するのに時間がかかりました.
これがプリコンパイル構成に適した値ではない理由はありますか?
ありがとう!
ruby-on-rails - アセット パイプラインに何か問題がありますか?
Rails 3.1 に「アップグレード」してから、私のアプリは開発モードで非常に遅くなります
(リクエストごとに 30 件以上)
私はたくさんの画像を持っていますが、この時間遅延のほとんどは、各画像の各 GET リクエストを処理するアセット パイプラインのようです。
ステージング モードまたはプロダクション モードでは、アセットがキャッシュされているため、この問題は発生しません。
私が言われていないことはありますか、それともこれが私たちが今期待されている方法ですか?
ruby-on-rails - Rails 3.1 に新しいアセット パスを追加する
Rails 3.1 のアセット パイプラインに別のフォルダーを追加する方法を知っている人はいますか?
app/assets/fonts
提供されるのと同じ方法で提供したいと思いapp/assets/images
ます。
更新: 2013 年 5 月 7 日
application.rb ファイルに明示的にアセット パスを追加するために、この質問を見つけた将来の人のためにいくつかの説明を追加します。
ただし、上記のパスは下にあるため、app/assets
明示的に追加する必要はありません。Rails アプリを再起動するだけで、Sprockets が取得できるようになります。
app/assets
、、lib/assets
またはの外側にあるパスを明示的に追加する必要がありvendor/assets
ます。Sprockets は、アプリケーションが読み込まれたときに存在していたフォルダー内の新しいファイルを取得しますが、私の経験では、アセット パス内の新しいフォルダーを取得しないことを覚えておいてください。再起動。
ruby-on-rails - CoffeeScript と Ruby on Rail のアセット パイプラインの問題を分離する良い方法は何ですか?
TLDR:
RoR で複数の CoffeeScript ファイルを 1 つの JS ファイルに結合するにはどうすればよいでしょうか?すべて同じ匿名関数ブロックの下にあります。
長いバージョン:
RoR Web アプリの一部として読み込まれる CS ファイルがいくつかあります。私が疑問に思っているのは、CoffeeScripts と Ruby on Rail 3.1 のアセット パイプラインの問題を分離する良い方法は何でしょうか?
以下をサンプルコードとして使用しましょう。
main.js.コーヒー
hello.js.コーヒー
複雑な.js.コーヒー
私の資産ディレクトリは次のように構成されています。
セカンダリ.js
以前は、ビルド プロセスの一部としてファイルを CoffeeScript と一緒にコンパイルしていましたが、代わりにアセット パイプラインを使用したいと考えています。RoR 3.1クールエイドを飲んでいます!ははは、まじめな話ですが、アセット パイプラインはすばらしく見えます。
私が経験している問題は、secondary.js が次のようになっていることです。
これにより、ローカル変数がコード全体で共有されるのを防ぎます。MY_GLOBAL_SETTING と doComplicatedStuff は、sayHello には使用できません。
それで...どうすればいいですか?独自のカスタム コンパイル手順を再度導入せずに、良い方法は考えられません。
ruby-on-rails-3 - ベンダー/アセット/イメージからイメージを提供するRails 3.1
Rails 3.1 アプリの vendor/assets/images に外部イメージ (jQuery プラグインで使用) を配置しようとしています。問題は、私が次のようなことをしようとしたときです:
エラーが発生します:
Rails.application.config.assets.paths を確認したところ、次のディレクトリが一覧表示されました。
ご覧のとおり、/vendor/assets/images がそこにリストされています。イメージを app/assets/images に配置すると、すべてが機能します。
新しいアセット パイプラインは、すべてのアセット ディレクトリを通過し、要求されたファイルが見つかった場所に提供されるはずだと考えていました。
ここで何が問題なのか誰か知っていますか?
javascript - アセット パイプライン レール 3.1 の廃棄サイクルはありますか?
Rails 3.1 では、.coffee と //= は、ファイルが 1 回だけ処理される必要がありますか?
たとえば、私はファイルを持っています
p>理想的には、サーバーはこれらを js ONCE にコンパイルしてからバンドルし、静的ファイルを作成します。しかし、アセットリクエストごとに発生すると、それを繰り返す無駄なサイクルになりますか??
これに関するガイダンスをありがとう。
ruby-on-rails - Rails 3.1アセットパイプライン:コントローラー固有のスクリプトをロードする方法は?
Rails 3.1 で新しいコントローラーを生成すると、コントローラーの名前を持つ JavaScript ファイルも自動的に追加されます。まず、この JavaScript ファイルは、関連するコントローラーが呼び出されたときにのみ使用されると思いました。
デフォルトでは、ツリー上のすべての JavaScript ファイルを含む -file に命令//= require_tree .
があります。application.js
コントローラー固有のスクリプトのみをロードするにはどうすればよいですか?
ruby-on-rails - Rails 3.1 Asset Pipeline が機能しない
Rails 2.5 アプリを Rails 3.1 rc4 にアップグレードしていますが、アセット パイプラインに関連して、開発中にこの種のエラーが大量に発生します。
基本的にここでは、application.css のリクエストは空の本文を返します。
最初はサーバーの問題かもしれないと思ったので、webrick に切り替えましたが、それは役に立ちませんでした。
助けていただければ幸いです。;-)
ニコ
ruby-on-rails-3.1 - スタイルシートと画像がリンクされた jquery プラグインのアセット パイプライン
いくつかの外部 JavaScript コードを含めるときに問題が発生しました (たとえば、css と画像が含まれる jquery.treeview プラグインなど)。これを行った経験や例はありますか?
ruby-on-rails - Rails 3.1 アセット パイプラインとキャッシング
Rails 3.1 のアセット パイプラインを使用しています。ローカルホストの開発環境では問題なく動作しているように見えますが、エンジン ヤードでは大きな問題が発生しています。
これが私の基本的な問題です。
scss ファイルの 1 つに背景の画像を含めると、次のようになります。
次の問題が発生します: アセットをプリコンパイルしたにもかかわらず、ブラウザーは存在する実際のファイルでは/assets/shade.png
なく、どちらを要求します。/assets/shade-FINGERPRINT.png
.scss ファイル内のアセット フォルダー内の画像を参照することで、この問題を修正できる方法を知っている人はいますか?