問題タブ [asset-sync]
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 - Asset Sync Gem を使用する場合の Heroku での Slug サイズの問題
多くのアセットを持つRails 3.2アプリがあります。[Asset Sync Gem( https://github.com/rumblelabs/asset_sync ) を使用しているため、コンパイル済みのすべてのアセットを S3 バケットにプッシュしています。
問題は、アプリケーションが S3 のバージョンを使用しているにもかかわらず、これらのアセットがまだスラッグ サイズに含まれていることです。これにより、スラッグ サイズが 300MB の制限を超えてしまいます。
.slugignore
ファイルが同期されないため、ファイルを使用できません。AssetSync が S3 にプッシュした後、スラッグがコンパイルされる前に、すべてのアセットを削除するにはどうすればよいですか?
[アップデート]
すべてをローカルでプリコンパイルします。Heroku はアセットのコンパイルが非常に遅く、さらに重要なことに、毎回すべてをコンパイルします。資産が自明でないサイズに達すると、これは本当に苦痛です。ローカルでプリコンパイルし、マニフェストをチェックインして Heroku にプッシュする Rake タスクを作成しました。
ruby-on-rails-3 - 有効期限ヘッダーを設定する asset_sync
asset_sync gem を使用して、アセットを s3 バケットにアップロードしています。私のWebサイトでyslowを実行すると、有効期限ヘッダーのない画像のリストが表示されます。これらを手動で設定できるようになりましたが、大量の画像がある場合、時間がかかる場合があります..
rake assets:precompile を自動的に実行するときに有効期限を設定する方法はありますか? これを可能にするasset_sync構成に何かありますか?
ありがとう
ruby-on-rails - asset_sync が S3 にアップロードされない
asset_sync を使用してアセットを S3 にアップロードできません
production.rb
asset_sync.rb
ヒロクの設定
$エクスポート
http://blog.firmhouse.com/complete-guide-to-serving-your-rails-assets-over-s3-with-asset_sync
heroku アセットをプッシュする//bucket_name.s3-eu-west-1.amazonaws.com/assets/icons/name_xxxxxxxxxx.png
と$rake assets:precompile
、ファイルは S3 にアップロードされず、ローカルでプリコンパイルされるだけです。何か案が ?どうもありがとう。
編集:
Gemfile を次のように変更しました。
世界の宝石へ
そして今、私は警告メッセージを持っています[WARNING] fog: followed redirect to bucket_name.s3-external-3.amazonaws.com, connecting to the matching region will be more performant
私はこれを理解できると思いますが、cssファイルのみがアップロードされ、jsファイルと画像はアップロードされません。
ruby-on-rails-4 - public/ または app/assets/ の Rails 4 静的アセット
これが単純な質問への長い積み上げである場合は申し訳ありませんが、私の考えを明確にしたかったのです。
私は今、いくつかのプロジェクトで Rails 4 を使用image_tag('/assets/image.png')
しており、Rails 4 でアセット パス ヘルパーがどのように機能するかの変更を回避するために使用しています。それは、変更についてもっと学ぶことに決め、この最初の変更を見つけた今日までです。 sprockets-rails に注意してください。ASSET_PUBLIC_DIRECTORIES
また、Rails ヘルパーの /actionview/lib/action_view/helpers/asset_url_helper.rb#L170 はパブリック フォルダーのみを指すことにも注意しました。静的ファイルにアクセスする場合、Rails は public フォルダーを使用することを望んでいることが明らかになりました。
これを理解したので、エッジレールのドキュメントがこれを明確に述べている理由を理解できません。
Rails の以前のバージョンでは、画像、JavaScript、スタイルシートなど、すべてのアセットが public のサブディレクトリに配置されていました。アセット パイプラインにより、これらのアセットの推奨される場所は app/assets ディレクトリになりました。
実際には image_path は public/images フォルダーへの uri を生成しますが、これはまったく逆です。
まとめると、 asset_syncを使用してアセットを S3 にデプロイすることになるため、利用可能なすべてのヘルパーとダイジェスト ビルダーを使用する必要があります。
だから私の質問はただです。画像/コンパイルされていないアセットを配置し、asset_path ヘルパーを使用する正しい場所はありますか? すべてのドキュメントと他のすべてのスタック オーバーフローの会話は、app/assets フォルダーを使用している人々に関するものですが、sprockets-rails は非ダイジェスト アセットに public を使用することを望んでいます。Web 上のドキュメントと情報は更新が必要なだけですか、それともすべてのアセット パスの前に /assets/ を追加するだけの理由があるだけですか?
更新:実際には、開発サーバーを再起動しておらず、app/assets/images 内の画像が表示されなかったため、パブリックにフォールバックするという問題があったと思います。また、ペーパークリップの default_url でアセット ヘルパーを使用していたことにも注意してください (これは、私が見つけたいくつかのスタック オーバーフローの回答でアセットを指す方法として参照されていますが、ペーパークリップで補間されたオプションでアセット パス ヘルパーを使用すると、パブリックにフォールバックします。補間されていないアセット名は、明らかに既存のファイルとして見つかりません。
ruby-on-rails - Asset Sync + Rackspace のエンコードの問題
Heroku に正常にデプロイできますが、.cssファイルをクリックすると、次のようになります。
Gemfile
アセットの同期
リクエストヘッダー
応答ヘッダー
ruby-on-rails - S3に役立たない一部のアステス
私の
資産はcss
、asset_sync (1.0.0) を使用して S3 に提供され、すべてがほぼ正常に動作background-image:url..
しjavascript
ます。また、これらのアセットの一部はプッシュされますが、前提条件の問題があります。要約すると、問題は、マニフェスト外のすべてのアセットが.. ??にプッシュするときに無視されていることだと思います??<script src="/assets/public/js_validation.js"></script>
s3
https://xxx.herokuapp.com/assets/sub-dir/..
s3
css/js
s3
どうもありがとう。
編集
運用中の作業資産:
some_asset.xxxxxxxxxxxx.png
運用中のアセットが機能していません: some_asset.png
(マニフェスト ファイル外のアセット)
開発中はすべてうまくいくようです....
何か案は ?
アップデート :
見る
<%= javascript_include_tag "/assets/js_standalone/validation.js" %>
=><script src="//d3j9rtukkaxslew.cloudfront.net/assets/js_standalone/homepage.js"></script>
production.rb
S3 I では、ファイルの最後に指紋が追加されます
homepage-ee97ca738affc4938c92445069f21cd2.js
プロダクションではありませんが、このエラーメッセージが表示されます[Error] Failed to load resource: the server responded with a status of 403 (Forbidden) (validation.js, line 0)
heroku - Rails 4のアップグレード後にCkeditor-herokuが壊れた
ckeditor が heroku で機能しなくなった理由がわかりません。私のローカルマシンでは問題なく動作します。
更新: アセットが heroku でホストされている場合、asset_sync gem がなくても機能しますが、それでは機能しません。
エラー: Uncaught SyntaxError: Unexpected token < in config.js:1 ckeditor cannot find config.js, < は 404 not found ページの開始タグです リソースの読み込みに失敗しました: サーバーは 406 のステータスで応答しました (受け入れられません)
私が得ることができる助けに感謝します。
Ckeditor gem、Heroku、Rails 4、asset_sync
アプリケーション.js
gemfile - バージョン 4.0.7
アプリケーション.rb
production.rb