[英]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 和應用程序級別,但如果您只想運行應用程序級別,請執行以下操作:
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"]
.env
或.env.local
文件放在那里。MY_KEY='SOMETHING'
MY_OTHER_KEY='SOMETHING ELSE'
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.