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。