使用 Webpack 编写 12 要素应用程序?
Posted
技术标签:
【中文标题】使用 Webpack 编写 12 要素应用程序?【英文标题】:Writing a 12 Factor App with Webpack? 【发布时间】: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
检索,编译为分配一个硬编码对象,该对象可以在整个应用程序中动态使用,类似于您的建议
【参考方案1】:
在 webpack 中使用 ENV 变量的一种方法是通过--env.VAR1=var1-sample
。
您可以使用以下命令创建environment.js
文件:
export ENV =
VAR1: process.env.VAR1 || 'local-development'
在构建时,NODE 会将这些值替换为您从 --env.VAR1
收集的值。
【讨论】:
以上是关于使用 Webpack 编写 12 要素应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
将代码库从 Webpack 移植到 Rollup 时,某些类在本应出现时未导出的问题
云原生 | Kubernetes篇Kubernetes 配置