0
我試圖獲得一個運行於RAILS_ENV=production
的Rails 4應用程序。 我的目標是預先編譯資產並使用CDN快速提供服務。Rails 4資產 - 生產環境 - 預編譯 - CDN - Opsworks
我迄今所做
production.rb
config.serve_static_assets = false
config.action_controller.asset_host = "http://mycdn.cloudfront.net"
config.assets.js_compressor = :uglifier
config.assets.compile = false
是opsworks期間正常運行預編譯步驟部署
"/usr/local/bin/bundle exec rake assets:precompile"
輸出預編譯
/srv/www/myapp/current/public/assets/$ ls
application-<digest>.css
application-<digest>.js
... other images, etc...
使用Rails進行的.js和.css幫手標籤/application.html.slim
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
= javascript_include_tag 'application', 'data-turbolinks-track' => true
= favicon_link_tag 'favicon.png'
我是怎麼想到
在頁面加載我想看到的東西像(預期摘要在網址):
<link data-turbolinks-track="true" href="http://mycdn.cloudfront.net/stylesheets/application-<digest>.css" media="all" rel="stylesheet" />
實際發生的
在頁面加載時,我看到諸如此類(NO DIGEST in url!):
壞消息是它們缺失,因爲application.css不存在於我的應用程序的任何位置,CDN無法自然緩存它。
<link data-turbolinks-track="true" href="http://mycdn.cloudfront.net/stylesheets/application.css" media="all" rel="stylesheet" />
任何幫助將不勝感激。
隨機統計:
- 的Rails 4.1.5
- 獨角獸4.8.1
- Opswork堆棧我的部署目標
- 作爲的Cloudfront CDN我