[英]Wrong fingerprint in Rails 3.1 asset pipeline for JS files in production
我在部署CSS和圖像之后將項目部署到服務器 - 它正在工作,但JS不起作用 - 404. HTML和公共/資產中的JavaScript哈希 - 不匹配。
In HTML: application-6851a5d9167871936c32da723dca0f23.js
In public/assets: application-95ecf5bab4b7984abe8c1c23b72a7679.js
你有沒有運行'rake assets:clean assets:precompile'?
此外,如果您正在使用GIT,您還需要'git rm'舊版本的資產。 如果通過推送工作空間(例如Heroku)更新生產環境,則需要為其他版本控制系統執行類似的操作。
在您的開發環境中,資源直接從源基礎獲取 - 因此,如果您更改它們,則無需再次預編譯(在開發期間節省您的時間)。 但是,由於這個原因,你可以相當容易地偶然發現資產。
重新啟動應用程序為我修復了它。
例如在應用程序的根目錄中:
touch tmp/restart.txt
或者在Capistrano 3的deploy.rb中 :
namespace :deploy do
desc 'Restart application'
task :restart do
on roles(:app) do
within release_path do
execute :touch, 'tmp/restart.txt'
end
end
end
after 'deploy:publishing', 'deploy:restart'
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.