【问题标题】:Writing a 12 Factor App with Webpack?使用 Webpack 编写 12 要素应用程序?
【发布时间】:2016-11-08 14:26:32
【问题描述】:

您将如何编写一个 12 要素的 webpack/expressjs 应用程序?特别是,我希望 expressjs 服务器上的环境变量在运行时提供一些应用程序配置。

目前,我在<script> 标签中创建了一个全局 Config 对象,并通过渲染模板并传入值来填充它,但我想使用 webpack 外部并将其包装为适当的模块。有没有人尝试过这样做,或者有类似的解决方案?

【问题讨论】:

  • 好问题。目前也在尝试解决如何将 env vars 传递给 webpacked js; webpack 似乎不让动态变量通过
  • @OlivUtilo 您可以在构建时通过--env.VAR1 传递环境变量,并在您的代码中以process.env.VAR1 的形式使用它们,就像const ENV = {VAR1: process.env.VAR1} 一样
  • 我正在使用一个 create-react-app'd 应用程序,并且任何前缀为 REACT_APP_ 的变量都神奇地通过了。通过执行window.env = process.env 检索,编译为分配一个硬编码对象,该对象可以在整个应用程序中动态使用,类似于您的建议

标签: webpack systemjs 12factor


【解决方案1】:

在 webpack 中使用 ENV 变量的一种方法是通过--env.VAR1=var1-sample

您可以使用以下命令创建environment.js 文件:

export ENV = { VAR1: process.env.VAR1 || 'local-development' }

在构建时,NODE 会将这些值替换为您从 --env.VAR1 收集的值。

【讨论】:

    猜你喜欢
    • 2011-11-21
    • 2012-07-05
    • 1970-01-01
    • 2018-02-17
    • 2011-03-14
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多