如何使用跨环境引用 .env 文件中的环境变量?

web*_*ood 2 environment-variables node.js package.json cross-env

我必须使用cross-envpackage.json 设置节点环境变量,但值位于.env文件中。

我尝试过以下格式,但没有一个有效。

cross-env API_KEY=%API_KEY% && ...
Run Code Online (Sandbox Code Playgroud)
cross-env API_KEY=$API_KEY && ...
Run Code Online (Sandbox Code Playgroud)
cross-env %API_KEY% && ...
Run Code Online (Sandbox Code Playgroud)

j-p*_*tty 9

cross-env用于在运行节点命令时内联设置环境变量。

cross-env NODE_ENV=生产 webpack --config build/webpack.config.js

但是,当从 .env 文件填充环境变量时,您需要使用dotenv或类似的。

每个环境都有一个单独的 .env 文件(.env.development、.env.Production...)是很常见的。要使用 dotenv 配置此功能,您需要dotenv.config在项目的根目录下运行,以选择正确的 .env 文件。

dotenv.config({
    path: path.resolve(__dirname, `${process.env.NODE_ENV}.env`)
});
Run Code Online (Sandbox Code Playgroud)