3 回答

TA貢獻1815條經驗 獲得超10個贊
只能在 npm 腳本中設置節點 env。要導入文件,您需要在服務器文件上編寫代碼。
在服務器文件中導入 dotenv
import dotenv from "dotenv";
or
const dotenv = require("dotenv");
使用以下代碼導入特定的 env 文件。
let envConfig={}
if (process.env.NODE_ENV === "development") {
if (fs.existsSync(".env.development")) {
envConfig = dotenv.parse(fs.readFileSync(".env.development"));
}
} else if(process.env.NODE_ENV === "testing"){
if (fs.existsSync(".env.test")) {
envConfig = dotenv.parse(fs.readFileSync(".env.test"));
}
}
for (const k in envConfig) {
process.env[k] = envConfig[k];
}

TA貢獻1877條經驗 獲得超6個贊
NPM 包加載默認情況下調用的文件,但可以覆蓋此行為。因此,您可以執行如下操作:dotenv.env
const { config } = require('dotenv')
if (process.env.NODE_ENV === 'development') {
config({ path: '/full/path/to/your/dev.env' })
} else if (process.env.NODE_ENV === 'testing') {
config({ path: '/full/path/to/your/test.env' })
}

TA貢獻1836條經驗 獲得超3個贊
我相信這個答案有一個解決方案給你:
scripts: {
"set-env:production": "export $(cat .production.env | grep \"^[^#;]\" |xargs)",
"set-env:development": "export $(cat .env | grep \"^[^#;]\" |xargs)",
}
添加回答
舉報