dotenv-webpack是否将所有环境变量从.env公开到前端?

Luk*_*gen 5 javascript environment-variables node.js webpack

我正在构建一个应用程序,其中包含一些API的公钥和其他API的私钥.我想将所有这些内容存储在我的单个.env文件中,并用于dotenv为我的服务器提供私钥,并dotenv-webpack为我的公共前端javascript提供公钥.使用这个软件包会使我的私钥在我的javascript中可用,还是只需要它需要的那些?

例:

# .env file
public_key="12345"
private_key="45678"
Run Code Online (Sandbox Code Playgroud)

这个需要在前端访问

// javascript file on front end
var publicKey = process.env.public_key
Run Code Online (Sandbox Code Playgroud)

但我想隐藏这个

// javascript file in node.js
var privateKey = process.env.private_key
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用的包是这个:https: //www.npmjs.com/package/dotenv-webpack

Usa*_*jaz 4

插件的 github 页面指出:

dotenv-webpack 包装 dotenv 和 Webpack.DefinePlugin。因此,它会覆盖现有的所有 DefinePlugin 配置。此外,与 DefinePlugin 一样,它会在生成的包中对 process.env 的任何实例进行文本替换。

您的 .env 文件可能包含敏感信息。因此,dotenv-webpack 将仅在最终包中包含定义的环境变量。

所以它是安全的。它只会公开您在代码中实际使用的环境变量。