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)",
}
添加回答
举报