Rails资产预编译:只预编译一个资产?

4

目前我们有一个Rails应用程序,但我有一个关于资产预编译的问题。

每当我编辑一个文件(样式表或javascript文件)时,我们都必须运行:
bundle exec rake assets:precompile
...然后再次上传所有内容,即使那些根本没有更改的文件也要上传。

是否有一种方法只编译已编辑的文件和manifest.yml文件?

谢谢提前。

2个回答

4
我曾经有过同样的问题,搜索了很多内容,最终找到了一个宝藏,叫做:guard-rails-assets。它可以在 Rails 3.1 应用程序中自动编译资产(assets)并检测变化。例如,你可以这样做:
# compile ONLY when something changes
guard 'rails-assets', :run_on => :change do
  watch(%r{^app/assets/.+$})
end

检查一下。

2

我认为不需要这样做,因为所有的JS文件和CSS文件都被编译成一个文件。 如果你只更改了一个文件,那么这些合并的文件也会被更改。 但是,如果你想更新资源文件,例如图片,我认为你只需要将其放置在public/accets目录下的正确位置即可。


2
我理解你的意思,但如果我只更改CSS文件,那么它应该只编译CSS文件,而不需要预编译我所有4MB的图像和Javascript,对吧? - Juanda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接