是否可以在使用纱线工作空间设置的monorepo的子文件夹之间共享配置变量/ env变量?我们为一个项目获得了monorepo,而且有几个子文件夹是使用create-react-app构建的项目。在这些单独的文件夹中,我们可以使用.env文件来指定配置值,当我们在个人级别的package.jsons中使用build / start脚本时,它们会得到很好的使用。
但是,我们还有其他子文件夹,这些子文件夹只是导入CRA应用程序的库。我们想在这些库中指定config / env变量,但到目前为止还没有找到一种方法来在我们构建或启动导入库的项目时传播值。已经在库本身以及CRA应用程序根文件夹中尝试过.env文件,但似乎没有任何工作......
答案 0 :(得分:0)
如果您 确实 要强制执行任何使用您的库之一的人,则您的库会将env-vars注入到他的process.env中,那么您可以使用库像https://github.com/motdotla/dotenv这样:
.env.file
文件:- src
- idnex.js
- .env.file
import dotenv from 'dotenv'
import path from 'path'
dotenv.config({
path: path.join(__dirname,'..','.env.file'),
})
// the rest of the file...
答案 1 :(得分:0)
您可以使用 find-yarn-workspace-root
查找存储库的根目录。
import workspacesRoot from "find-yarn-workspace-root";
import { config as dotenv } from "dotenv";
const rootDirectory = workspacesRoot();
dotenv({ path: `${rootDirectory}/.env` });