簡體   English   中英

如何在 turborepo 中同時使用 root 和 app 級別的 env 文件

[英]How to use both root and app level env files with turborepo

我有一個帶有以下腳本的 monorepo:

"start": "env-cmd -f .env turbo run start --parallel",

如果我在根目錄下運行yarn start ,它會使用根目錄下的.env文件運行我所有的應用程序。

我的許多環境變量僅在一個特定的應用程序中使用,並且隨着我不斷添加新應用程序,我的/.env文件變得混亂。 我只想保留共享環境變量的.env文件,並在每個應用程序的根目錄下有子.env文件以進行特定配置。

例如,如果我有一個名為web的應用程序位於/apps/web中,我想添加一個/apps/web/.env文件,該文件僅在構建web應用程序時使用。

我怎樣才能做到這一點?

不確定如何同時運行 root 和應用程序級別,但如果您只想運行應用程序級別,請執行以下操作:

  1. 在你的根turbo.json中輸入所有的鍵:
"globalEnv": [
  "MY_KEY",
  "MY_OTHER_KEY"
],
//a. ".env" is the default, you don't need the following line unless you have a custom .env file name. e,.g. .env.local
//b. Note "globalDependencies" in the following line is referring to your .env file under the app folder, not the root one.
"globalDependencies": [".env.local"] 
  1. 在您的 web 項目中,將您的.env.env.local文件放在那里。
MY_KEY='SOMETHING'
MY_OTHER_KEY='SOMETHING ELSE'
  1. 清除緩存文件夾中的所有緩存(以防萬一),然后運行:

turbo run dev --filter=my-web-project

就是這樣,您的 web 應用程序將在您的應用程序文件夾中獲取 env 文件,而不是從您的根文件夾中獲取。

參考:https://turbo.build/repo/docs/reference/configuration#globalEnv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM