Rails Rails 静态资源编译

rails_taotao · 2018年04月23日 · 最后由 rails_taotao 回复于 2018年04月27日 · 2176 次阅读

请教各位技术大佬。rails 在部署的时候,会编译静态资源。这个时候特别占用内存与时间。有没有可以实现开发环境将静态资源编译好,在部署的过程中不参加编译静态资源。生产环境使用开发环境编译过的静态资源。

在开发的机器上预编译就行了:

RAILS_ENV=production rails assets:precompile

把生成的文件提交到代码仓库中,生产环境直接更新代码即可。

楼上正解

如果是用 capistrano 部署的话 记得在 Capfile 里把 precompile 拿掉

jicheng1014 回复

我是使用 mina+unicon 进行部署的

或者采用本地编译,上传

gem 'capistrano-local-precompile'
awking 回复

谢谢分享

是不是每次部署后,第一次访问页面是要加载半天?

lengcb 回复

是的。而已编译的过程很长

junzhepan 回复

你好,我这样测试过,但是没有成功。我是使用 mina 进行部署的

junzhepan 回复

这样会不会导致项目文件太大呢?

lengcb 回复

我今天这样尝试了。系统一直报错。还没有解决。

要解决每次部署编译 js 时间太长,linked_dirs 可以加上

['tmp/cache','public/assets']
zqalyc 回复

已经解决。谢谢

rails_taotao 关闭了讨论。 04月27日 09:07
需要 登录 后方可回复, 如果你还没有账号请 注册新账号