【问题标题】:How do I set defaults (like environment) in Pakyow?如何在 Pakyow 中设置默认值(如环境)?
【发布时间】:2017-02-08 18:46:20
【问题描述】:

新手总问题...文档中有很多关于如何为给定环境配置行为的内容。 pakyow help server 的输出表明环境可以设置为默认值以外的其他值。但是如何(以及在​​哪里)设置这些默认值?这是否应该通过app.default_environment 完成,如果是这样,那会去哪里? app/setup.rb 中的 configure 块?

请注意,我很乐意向添加此问题答案的文档提交更新。

【问题讨论】:

  • 你的意思是在developmentprototypeproduction等中启动服务器?
  • @bryanp 不,我知道如何从帮助中做到这一点,我的意思是更改默认值;我原以为这可能是 .env 文件的用途,但我找不到有关该文件的文档...
  • 最佳实践是在使用pakyow server时传递你想要的环境(例如pakyow server production)或设置RACK_ENV环境变量并以rackup开头(例如RACK_ENV=production rackup)。

标签: pakyow


【解决方案1】:

要以给定模式启动服务器,比如开发

做事

bundle exec pakyow server 'development'

https://www.pakyow.org/docs/tools

据我了解,默认环境可以在 setup.rb 的 configure 块中的 app 对象上设置

app.default_environment (development)

此配置选项用于设置默认环境。 您使用app.default_environment 设置的环境指定服务器默认的模式。

这是一个配置块的示例。

configure :development do
  # put your development config here
end

对于生产,将 :development 替换为 :production

这是一个设置默认环境的示例

Pakyow::App.define do configure do app.default_environment = :test end end

如果不指定默认使用哪个环境,则默认为:development

App 只是您可以配置的东西之一,以了解如何配置其他东西,例如 Server、Logger、Presenter、Realtime,请参阅此处的文档https://www.pakyow.org/docs/config

环境变量可以在.env文件中设置

.env 文件内容示例

SESSION_SECRET=8ac762ca808a8f3151b69d53fc6e2f5efbe46926472695a7cf23514c29cb5ce19ae434e80c96caac1009754cda605c678dba602608708e886447f7b059567645

REDIS_URL=redis://127.0.0.1:6379

在 setup.rb 中可以像这样访问环境变量

ENV['REDIS_URL']

你可以像这样将它设置为变量

redis_url = ENV['REDIS_URL']

或者你将它设置为 app 对象,这样它就可以在项目中的任何地方使用

app.redis = ENV['REDIS_URL']

您现在可以通过这样做访问项目中任何地方的环境变量

Pakyow::Config.app.redis

希望有帮助!

【讨论】:

  • 那么有什么办法可以改变,例如服务器的默认启动模式是什么,还是必须在启动时指定模式?例如,在生产服务器上,您无法更改默认值,这对我来说似乎很愚蠢。
  • 我认为这就是app.default_environment 的用途。如果你在那里设置它,那么这就是服务器将要启动的模式
  • 嗯...设置 app.default_environment 似乎什么也没做。也就是说,如果我设置了这个,无论值如何(例如:production),都会执行:development 配置块。想法?
  • 啊哈!原来这是我正在使用的版本中的一个错误。谢谢您的帮助!完成后我会发布更多关于我的用例的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 2014-09-14
  • 2012-02-07
  • 1970-01-01
  • 2016-12-23
  • 1970-01-01
相关资源
最近更新 更多