dotenv-webpack是否将.env的所有环境variables公开给前端?

我正在构build一个应用程序,其中有一些API的公钥和其他API的私钥。 我想将它们全部存储在我的单个.env文件中,并使用dotenv将私钥提供给我的服务器,并将dotenv-webpack提供给我的公共前端javascript。 将使用此包使我的私人密钥在我的JavaScript可用或将只采取它所需要的?

例:

 # .env file public_key="12345" private_key="45678" 

这个需要在前端访问

 // javascript file on front end var publicKey = process.env.public_key 

但我想保留这个隐藏的

 // javascript file in node.js var privateKey = process.env.private_key 

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

该插件的github页面指出:

dotenv-webpack包装dotenv和Webpack.DefinePlugin。 因此,它会覆盖现有的任何现有的DefinePluginconfiguration。 此外,就像DefinePlugin一样,它会在生成的包中为process.env的任何实例进行文本replace。

您的.env文件可以包含敏感信息。 因此,dotenv-webpack将只包含最终包中定义的环境variables。

所以它的安全。 它只会暴露你在代码中实际使用的环境variables。