有没有一种方法可以创建可在多个文件(Node.JS)上使用的变量

时间:2019-07-08 20:05:52

标签: node.js discord discord.js

我正在使用Discord机器人工作,并且我有一个重启的var(默认情况下为false),如果将其设置为true,它将在我的日志中打印另一条消息, 现在有一种创建全局变量的方法

我有一个bot.js,其中我调用了导出的模块(在这种情况下,在另一个文件中,core.js重新启动,并且在重新启动时,我想将restarted设置为true,然后在bot.on中再次在我的主目录中使用( “断开连接”)

2 个答案:

答案 0 :(得分:0)

将变量添加到module.exports中(在bot.js中),这样就可以了

module.exports = {whateveryouhadbefore, restarted}

然后使用

访问它(在core.js中)
const bot = require("./bot");

restarted = bot.restarted;

答案 1 :(得分:0)

感谢djfdev的评论,它能够正常工作, 即时通讯输出的功能会改变重命名的值 并即时将该值导入我的core.js

//bot.js
module.exports= {
    changerestarted: function() {
            restarted = true
    }
}

//core.js
const main = require("../../bot.js")
const auth = require("../../auth/auth.json")
module.exports = { 
    restart: function (message, bot) {
        if (message.author.id == 141218912934166528 || message.author.id == 533665091468656650) {
            console.log(message.author.tag + ' restarted The bot')
            message.reply('You restarted the bot, wait a few seconds')
            bot.channels.get("593824605144088586").send(message.author.tag + ' restarted the bot')
            bot.channels.get("593824605144088586").send('---------------------------------------------------')
            main.changerestarted()
            bot.channels.get("593824605144088586").send('Restarting...')
                .then(msg => bot.destroy())
                .then(() => bot.login(auth.token));
        }
        else {
            message.reply('I´m sorry,:no_entry_sign: you don´t have the permssion to run this command :no_entry_sign:')
            console.log(message.author.tag + ' tried to use -restart')
        }
}