如何在 Pakyow 中设置默认值(如环境)?

How do I set defaults (like environment) in Pakyow?

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

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

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

随心所欲

bundle exec pakyow server 'development'

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

据我了解,可以在 setup.rb

的配置块中的应用程序对象上设置默认环境

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

希望对您有所帮助!