You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Phoenix框架环境变量配置及控制器URL引用问题

Elixir环境URL配置与代码改造

1. 环境配置项的设置位置

在Elixir项目里,最常用的方式是在对应环境的配置文件中定义:

  • 开发环境:编辑config/dev.exs,添加配置项:
    config :你的应用名, :frontend_url, "http://localhost:3000"
    
  • 生产环境:编辑config/prod.exs,添加对应配置:
    config :你的应用名, :frontend_url, "https://www.foobar.com"
    

如果需要支持部署时动态传入(比如用系统环境变量),可以改成:

# 以prod.exs为例,dev环境同理
config :你的应用名, :frontend_url, System.get_env("FRONTEND_URL") || "https://www.foobar.com"

这样会优先读取系统环境变量FRONTEND_URL,没设置的话用默认值兜底。

2. 修改控制器代码

把硬编码的URL替换成从配置中读取的值即可,修改后的代码如下:

frontend_url = Application.get_env(:你的应用名, :frontend_url)

conn
|> redirect(external: frontend_url)

也可以直接内嵌到管道链里:

conn
|> redirect(external: Application.get_env(:你的应用名, :frontend_url))

注意把:你的应用名替换成你实际的Elixir应用名称(比如my_app)。

内容的提问来源于stack exchange,提问作者bigpotato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 09:17:34