6

我已经设置了一个基本的 turborepo 项目,我想在所有应用程序和一些包中共享 .env 变量。如果我在项目的根目录中设置一个 .env 文件,那么所有应用程序和包如何访问它们。或者根据我的要求,我是否需要在所有应用程序和包中设置多个 .env 文件?

4

2 回答 2

0

要将环境变量从 .env 加载到进程环境中,您可以使用https://www.npmjs.com/package/dotenv

然后在你的 monorepo 中共享环境变量:

在每个工作区/应用程序require('dotenv').config({path: /custom/path/to/.env})中尽可能早地按照文档添加(假设此处为通用 js 模块解析)(例如,对于 next.config.js 中的下一个 js 应用程序),其中/custom/path/to/.env将是根 .env 的相对路径(例如两个文件夹../../.env:)

于 2022-02-07T13:56:11.427 回答
0

您可以在 turbo 配置中指定globalDependencies选项或使用--global-depsCLI 标志。

{ 
   // ... rest of the turbo config
   globalDependencies: ['.env']
}

或者

turbo run build --global-deps=".env.*"

来自文档的参考:

https://turborepo.org/docs/reference/configuration#globaldependencies https://turborepo.org/docs/reference/command-line-reference#--global-deps

于 2022-01-31T12:02:47.623 回答