ruby-on-rails - 在 Ruby 中编译 Assets 是否需要在部署时完成?为什么之前不呢?

标签 ruby-on-rails ruby assets precompile

所以这只是我最近一直想知道的一个问题,我似乎在部署时花费了大量时间等待 Assets 编译。

为什么我们不能在我们的开发机器上编译资源并将其提交到 git 存储库中?

我目前正在使用 ruby​​ 2.5.x 和 Rails 5.2.4.x,并使用带有 uglifier 的 Assets 管道。

有没有办法在开发中做到这一点,从而在部署期间禁用所有 Assets 编译?

非常感谢, 西蒙

最佳答案

解决方案非常简单

1) 在部署期间禁用 Assets 编译

我正在使用 Elastic Beanstalk ,所以只需在环境变量中设置它 Elastic Beanstalk Asset Compilation 2)要么

  • 将/public/assets 文件夹添加到 git
  • 或者对于 elastic beanstalk,创建 .ebignore 文件并复制 .gitignore,但删除/public/assets 条目

3) 部署前运行

  • Linux -- RAILS_ENV=开发包 exec rake Assets :预编译
  • Windows -- 设置 RAILS_ENV=development && 捆绑执行 rake Assets :预编译

4)正常部署代码到服务器

  • eb 部署

关于ruby-on-rails - 在 Ruby 中编译 Assets 是否需要在部署时完成?为什么之前不呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61477030/

相关文章:

javascript - 如何使用 javascript_include_tag 从 vendor/assets/javascripts 添加特定于 Controller 的 javascript?

java - Android 上 Assets 文件夹中的 InputStream 返回空

xcode - 无法在框架内加载 Assets

ruby-on-rails - Gemfile 中未使用的 gem 会占用 Rails 中的内存吗?

ruby - 将 JSON 提要消费到适当的 Ruby 中

ruby-on-rails - 如何使用 ruby​​ on rails 从 redis 获取所有匹配的 key

ruby - 输出到 Shell 提示符时 Ruby 中的制表符问题

sql - ActiveRelation 准备好迎接黄金时段了吗?

ruby-on-rails - Rails 中的 "Virtual Relationships"

javascript - angularjs:只允许在文本框中输入数字