如何使用.env文件隐藏Stripe密钥?配置后无法生效求解
解决Stripe密钥通过.env文件加载失败的问题
第一步:安装并正确引入dotenv依赖
Node.js默认不会自动加载.env文件,需借助dotenv包实现:- 安装依赖:
npm install dotenv(或yarn add dotenv) - 在
server.js的最顶部添加代码(必须在引入Stripe之前):require('dotenv').config();
- 安装依赖:
第二步:检查.env文件的命名与路径
- 文件名必须是
.env(注意开头的点,不能省略) - 文件需放在项目根目录,与
server.js同级;若放在其他目录,需在config()中指定路径:require('dotenv').config({ path: './your-path/.env' });
- 文件名必须是
第三步:修正.env文件的语法错误
- 密钥不要加引号:正确写法是
STRIPE_KEY=sk_test_XXXXXXXXXXXXXXXXXXXXXXXXX,错误写法STRIPE_KEY="sk_test_xxx"会把引号包含进密钥,导致验证失败 - 等号前后不能有空格:避免
STRIPE_KEY = sk_test_xxx这类格式
- 密钥不要加引号:正确写法是
第四步:调试验证环境变量
在引入Stripe的代码前添加调试语句,确认环境变量是否加载成功:console.log(process.env.STRIPE_KEY); // 若输出undefined,说明未加载到环境变量 const stripe = require("stripe")(process.env.STRIPE_KEY);第五步:重启服务器
修改.env文件后必须重启Node.js服务,环境变量仅在服务启动时读取,热重载不会重新加载配置
内容的提问来源于stack exchange,提问作者Ronen Amir
相关产品推荐
相关产品推荐

