javascript - dotenv-webpack 是否将 .env 中的所有环境变量暴露给前端?

标签 javascript node.js webpack environment-variables

我正在构建一个应用程序,该应用程序具有用于某些 API 的公钥和用于其他 API 的私钥。我想将它们全部存储在我的单个 .env 文件中,并使用 dotenv 向我的服务器和 dotenv-webpack 提供私钥> 为我的公共(public)前端 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

最佳答案

plugin 的 github 页面指出:

dotenv-webpack wraps dotenv and Webpack.DefinePlugin. As such, it overwrites existing any existing DefinePlugin configurations. Also, like DefinePlugin, it does a text replace in the resulting bundle for any instances of process.env.

Your .env files can include sensitive information. Because of this,dotenv-webpack will only include defined environment variables in the final bundle.

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

关于javascript - dotenv-webpack 是否将 .env 中的所有环境变量暴露给前端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41656354/

相关文章:

javascript - 移动浏览器上的尺寸 - 如何计算

node.js - 在 typescript 中使用 fs

node.js - 带有 NPM 参数的永远命令行

vue.js - Webpack 导入的模块不是函数

javascript - Webpack bundle PNG 图像,但 React 不会显示它

javascript - 为什么我不能在我的对象脚本中传递这个 jquery 选择器?

javascript - 解除累积

javascript - 无法让 javascript 中的 setTimeout 正常工作

javascript - Node.js 中的网页抓取/解析来检测 HTML 页面的语言?

node.js - 我可以在没有 nodejs 服务器的情况下在客户端使用 webpack 吗?