可能有人向我解释什么是命令 rake assets:clean 真的吗?不幸的是轨道指南,还提到它。还有命令 rake assets:cleanup.什么区别?

此外,可能有人告诉我,当我需要运行 rake assets:precompile 在生产。我运行了它在服务器控制台之后,我部署了我所有的应用程序的文件到我的生产服务器?或者我 precompile 上我的当地机然后做一个部署的所有文件吗?

感谢所有

有帮助吗?

解决方案

注意:此答案特定于rails 3。对于Rails 4和更高版本,请在此处查看其他答案。

如果在本地计算机上进行预编译,则可以将这些生成的资产提交到存储库中并继续进行部署。无需在生产机器上编译它们。

但是它带来了一个问题:现在,当您更改源文件(coffescript / scss)时,该应用程序将不会进行更改,因为它将提供预编译的文件。rake assets:clean删除这些预编译的文件。

在我的项目中,资产是作为部署的一部分进行预编译的。Capistrano使其非常容易。

而且,我从没听说过rake assets:cleanup

其他提示

运行rake assets:clobber以实际清理资产。 http://www.dixis.com/?p=735

塞尔希奥的回答是完全正确轨3. rake assets:clean 删除所有资产,先前已编译成的 public/assets 目录。

在轨4,你跑 rake assets:clobber 做同样的事情。

如果你跑 rake assets:precompile 与以下config(默认接通的过渡和生产):

# config/environments/production.rb
config.assets.digest = true

你汇编的资产得到加时间戳。这意味着你可以编制新的资产,同时留下的旧资产。你常常想要做到这一在生产使你的网站仍将访问的旧文件同时运行的 precompile 要创建新的文件(因为你已经增加了新的css/javascript)。你现在想要摆脱的旧文件,不再使用。的 clean 它删除了旧版本的编译的资产,同时留下新的资产。

rake assets:clean删除已编译的资产。它由cap deploy:assets:clean运行,通常从远程服务器中删除已编译的资产。

cap deploy:clean通常从远程服务器上删除旧版本。不是rake assets:clean

rake!= cap

rake assets:clean现在由cap deploy:cleanup_assets运行。将require 'capistrano/rails/assets'添加到您的Capfile中,您将获得此任务。我的capistrano版本是v3.2.1。

使用git clean -f清除文件和git clean -f -d清除目录

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top