0

我試圖弄清楚當我嘗試使用aws cloudfront渲染導軌資產時,我的問題出在哪裏。不知道是否有一種工具可以確定我的整個應用程序是否符合軌道資產管線(是否符合其標準等)。任何幫助將不勝感激,甚至幫助我弄清楚如何確定我的資產是來自CloudFront而不是來自我的應用程序。我如何知道我的整個應用程序是Rails Asset Pipeline Compliant?

回答

0

這裏有一個很好的教程做

https://ruby.awsblog.com/post/Tx3VS6Q2Q2K0LJR/Caching-the-Rails-Asset-Pipeline-with-Amazon-CloudFront

如果你可以告訴從CloudFront的服務你的資產沒有成功地通過查看生產環境的頁面的源代碼,看看是你的CSS和JS文件從服務的,如果它的工作,你會發現這樣的事情

<link data-turbolinks-track="true" href="http://your-distribution-url.cloudfront.net/assets/application-bfe54945dee8eb9f51b20d52b93aa177.css" media="all" rel="stylesheet" /> 

或者,如果你配置一個域名爲您的資產cdn.myapp.com例如,你會發現,資產供應來回M散發

---------------- 更新 -----------------

一般要在將它們移動到CDN之前先組織您的資產,對於img標記,如果您使用image_tag或沒有使用image_tag則無關緊要。如果它是一個資產圖像(可在app/assets/images可以找到例如使用asset_url助手,以便它是通過你的資產管線送達(這並不適用於您的應用程序的相似圖片的用戶個人資料圖片)。

而且在當您使用資產時(例如背景圖片),CSS文件使用asset-url助手通過資產管道獲取圖片。

此外,向您的視圖中添加javascript是個不好的做法,因爲您無法將此javascript服務器從您的資產管道中,嘗試將所有JavaScript都放在單獨的js或coffescript文件中,並使用「Unobtrusive Javascript」練習(更多關於What's the best way to embed a small chunk of javascript in Rails?的回答)

+0

我試過了,它真的搞砸了我的生產環境。所有的CSS和js都被破壞了。我有一種感覺,我的整個應用程序是不符合軌道資產管道...我使用HTML「

相關問題