禁用NodeJS类功能

时间:2017-06-07 03:12:39

标签: javascript node.js class object

我尝试创建一个名为Debugger的类,其中包含一个名为log的公共函数,但是当我从其他js文件中调用log()时,它并没有#{1}}。工作。我试图登录控制台类的对象,我可以在控制台中看到我的功能被禁用。为什么?我该如何启用它们?



var Debugger = class Debugger {
  constructor(output) {
    this.output = output;
  }
  
  function log() {
    if(!this.output)
      console.log('WARNING: Couldn\'t debug to discord chat! Output is not set.');
    for(arg in arguments) {
      if(this.output) {
        if(typeof arguments[arg] == 'string')
          this.output.reply(arguments[arg]);
        else
          this.output.reply(JSON.stringify(arguments[arg]));
      }
      console.log(arguments[arg]);
    }
  }
}

module.exports = Debugger;






var Debugger = require('debug');
var debug = new Debugger();

debug.log('Client: ', client); // client is already defined and works perfectly




debug.log('Client: ', client);
        ^
TypeError: debug.log is not a function
    at DiscordieDispatcher.client.Dispatcher.on.e (A:\Discordie\main.js:29:9)
    at emitOne (events.js:96:13)
    at DiscordieDispatcher.emit (events.js:188:7)
    at DiscordieDispatcher.emit (A:\Discordie\node_modules\discordie\lib\core\DiscordieDispatcher.js:37:16)
    at Discordie.handler (A:\Discordie\node_modules\discordie\lib\networking\messages\gateway\message_create.js:12:19)
    at Discordie.processMessage (A:\Discordie\node_modules\discordie\lib\core\MessageHandlerCache.js:11:55)
    at Discordie.processMessage (A:\Discordie\node_modules\discordie\lib\core\MessageHandlerCache.js:38:27)
    at MessageHandlerCache.processGatewayMessage (A:\Discordie\node_modules\discordie\lib\core\MessageHandlerCache.js:53:27)
    at DiscordieDispatcher.Dispatcher.on.e (A:\Discordie\node_modules\discordie\lib\index.js:82:19)
    at emitOne (events.js:101:20)
Program exited with code 1

The class which is not working The error I get



// I tried this too and it doesn't work (same error)
function Debugger(output) {
  this.output = output;
  this.log = function() {
    if(!this.output)
      console.log('WARNING: Couldn\'t debug to discord chat! Output is not set.');
    for(arg in arguments) {
      if(this.output) {
        if(typeof arguments[arg] == 'string')
          this.output.reply(arguments[arg]);
        else
          this.output.reply(JSON.stringify(arguments[arg]));
      }
      console.log(arguments[arg]);
    }
  }
}




0 个答案:

没有答案