问题描述
我在节点 cli 脚本文件夹中创建了一个 .env
文件。我正在尝试使用 process.env.MY_VARIABLE
加载我在其中定义的变量,但我注意到它们未定义。
目前这是我的 cli 脚本的 index.js
文件中的代码
#!/usr/bin/env node
const fb = require('facebook-chat-api');
//debug only
console.log(process.env.FB_EMAIL,process.env.FB_PWD)
let credentials = { email: process.env.FB_EMAIL,password: process.env.FB_PWD }
fb(credentials,(err,api) => {
if(err) return console.log(err);
console.log(api);
});
这是我的 .env
文件的内容,它位于 package.json 文件和 index.js 的同一目录中
FB_EMAIL="some@email.com"
FB_PWD="apasswprd"
我错过了什么吗?
解决方法
你是如何加载 .env 文件的? .env 到 process.env
的映射不会自动发生。您可以查看 https://www.npmjs.com/package/dotenv 以将 .env 文件加载给您 process.env
。
另一种方法是在您运行该 cli 工具的环境中使用 FB_EMAIL
和 FB_PWD
。你可以试试你的终端 export FB_EMAIL=****