【发布时间】:2023-10-26 08:19:01
【问题描述】:
我正在使用我的开发环境测试一些东西,我在本地预编译资产,然后将其重新同步到生产服务器。
但是,当我使用 Pow 时,它会为 /public/assets/ 文件夹提供服务,其中包含缩小的 css 和 js 文件。
我想知道如何解决这个问题。
如何通过 Pow 配置忽略公共/资产?
非常感谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.2 asset-pipeline rack-pow
我正在使用我的开发环境测试一些东西,我在本地预编译资产,然后将其重新同步到生产服务器。
但是,当我使用 Pow 时,它会为 /public/assets/ 文件夹提供服务,其中包含缩小的 css 和 js 文件。
我想知道如何解决这个问题。
如何通过 Pow 配置忽略公共/资产?
非常感谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.2 asset-pipeline rack-pow
这种过程(在本地预编译并将资产推送到服务器,独立于来自您的 VCS 的代码)很常见。我通过 Capistrano 使用此策略的自定义实现作为我部署的一部分。
在资产同步后有一个单独的 rake 任务要运行。
rake assets:clean
这将在本地刷新来自 public/assets 的资产,允许您继续开发从 app/assets/、lib/assets/、vendor/assets/ 等中提取的资产...
我很确定 Pow 本身无法满足您的要求。关于这个有一个有趣的Rails Issue,具体来说,this comment
config/environments/development.rb
config.serve_static_assets = false
config/routes.rb (在最后)
if Rails.env.development?
app = ActionDispatch::Static.new(
lambda{ |env| [404, { 'X-Cascade' => 'pass'}, []] },
Rails.application.config.paths['public'].first,
Rails.application.config.static_cache_control
)
mount app, :at => '/', :as => :public
end
我自己没有测试过。
【讨论】: