gpt4 book ai didi

ruby-on-rails - 如何避免在开发模式下提供预编译资源?

转载 作者:行者123 更新时间:2023-12-01 21:22:47 25 4
gpt4 key购买 nike

我更喜欢在开发模式下连接 JavaScript 文件,而是将它们作为单独的文件提供。所以我配置了:

开发.rb:

config.assets.compress = false
config.assets.debug = true
config.assets.compile = true

在我的/app/assets/javascript 目录中,我有:

  • reviews.js
  • 评论/
    • foo.js
    • bar.js

评论.js:

//= require jquery
//= require jquery_ujs
//= require_tree ./reviews

我使用 <%= javascript_include_tag "reviews" %> 包含 JavaScript在我的布局中。生成的页面正确地分别引用了三个脚本和 reviews.js本质上是空的。到目前为止一切顺利。

现在,当我使用 rake assets:precompile 预编译我的 Assets 以进行生产时这三个 JavaScript 文件连接成 reviews.js 。这对于生产来说一切都很好,但现在,在开发模式下,连接的 reviews.js 除了这两个单独的文件之外,还提供服务。

当然,这会导致开发时出现各种令人讨厌的错误,因为现在 foo.js 的内容和bar.js服务两次,其中一次可能是较旧的版本,位于 reviews.js .

如何确保 Rails 在开发模式下不使用预编译资源?

最佳答案

config/environments/development.rb中设置:

config.assets.prefix = "/assets_dev"

这样在开发模式下Rails会在那里查找(但它不会找到任何东西,因为你不会在开发中编译 Assets (这确实是你想要做的——不编译 Assets ) ))。

生产预编译时,使用

RAILS_ENV=production rake assets:precompile

因此它会编译到默认 Assets 文件夹 public/assets 中。

关于ruby-on-rails - 如何避免在开发模式下提供预编译资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com