我正在编码这个discordbot,并希望它在github上。我如何在不公开其令牌的情况下上传它?
const Discord = require('discord.js');
const client = new Discord.Client();
// Following is the part that matter, the code before is just to get some context
const token = '[hidden for security reasons]';
我认为我应该将其放在单独的文件中,但是我不知道如何在index.js文件中引用它。
我该如何解决问题?
答案 0 :(得分:2)
有很多方法可以从代码中获取机密信息。
最简单的方法可能是使用环境变量。 您可以例如在您的代码中使用它:
const token = process.env.DISCORD_TOKEN;
然后在调用脚本之前设置env变量(假设bash shell):
DISCORD_TOKEN=1234foobar1234 node myscript.js
为简化此操作,您可以使用dotenv
之类的软件包:
require('dotenv').config();
const token = process.env.DISCORD_TOKEN;
然后,您可以在项目根目录中创建一个.env
文件:
.env
:
DISCORD_TOKEN=1234foobar1234
(请记住将此文件添加到.gitignore
以避免意外提交)