dan*_*iel 58 ruby-on-rails ruby-on-rails-3 asset-pipeline
有人可以向我解释这个命令到底rake assets:clean是做什么的吗?不幸的是Rails指南不提它.还有命令rake assets:cleanup.有什么不同?
此外,有人可以告诉我什么时候必须rake assets:precompile在生产中运行.在将所有应用程序文件部署到生产服务器后,是否在服务器控制台上运行它?或者我precompile在本地计算机上然后部署所有文件?
谢谢大家
Ser*_*sev 65
如果在本地计算机上进行预编译,则可以将这些生成的资产提交到存储库并继续部署.无需在生产机器上编译它们.
但它引入了一个问题:现在当您更改源文件(coffescript/scss)时,应用程序将不会接收更改,因为它将提供预编译文件.rake assets:clean删除这些预编译的文件.
在我的项目中,资产被预编译为部署的一部分.Capistrano让它变得非常简单.
而且,我从来没有听说过rake assets:cleanup.
小智 26
在Rails 3中,Sergio的答案是完全正确的. rake assets:clean删除了之前预先编译到public/assets目录中的所有资产.
在Rails 4中,你可以rake assets:clobber做同样的事情.
如果rake assets:precompile使用以下配置运行(默认情况下在暂存和生产中打开):
# config/environments/production.rb
config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)
您编译的资产得到时间戳.这意味着您可以在保留旧资产的同时编译新资产.您通常希望在生产中执行此操作,以便您在运行时仍然可以访问旧文件precompile以创建新文件(因为您添加了新的css/javascript).您现在想要删除不再使用的旧文件.的clean同时使新资产代替它消除了预编译的资产的旧版本.
rake assets:clean删除已编译的资产 它cap deploy:assets:clean通常用于从远程服务器中删除已编译的资产.
cap deploy:clean通常从远程服务器删除旧版本.它不是rake assets:clean
耙!=帽
| 归档时间: |
|
| 查看次数: |
52260 次 |
| 最近记录: |