我已经设置了一个基本的 turborepo 项目,我想在所有应用程序和一些包中共享 .env 变量。如果我在项目的根目录中设置一个 .env 文件,那么所有应用程序和包如何访问它们。或者根据我的要求,我是否需要在所有应用程序和包中设置多个 .env 文件?
问问题
406 次
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-deps
CLI 标志。
{
// ... 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 回答