Я пытаюсь получить доступ к статическому методу из созданного мной импортированного модуля, но в результате возникает ошибка TypeError, указывающая, что метод не существует.
Я пыталсяэкспортировать модули по-разному.Метод может быть вызван, если я использую его как метод экземпляра, а не как статический, однако он не использует ничего, связанного с классом, и я думаю, что он должен быть статическим.
Следующий статический метод:( Bot.js )
const Bot = class Bot {
static getCommandIndex(message) {
if (!message.beginsWith('/')) {
return undefined;
}
return message.split(' ');
}
}
module.exports = Bot;
Модуль, который пытается его использовать: ( BotUpdateHandler.js )
const Bot = require('./Bot');
module.exports = class BotUpdateHandler {
async handle(update) {
const txt = update.msg.txt;
const command = Bot.getCommandIndex(txt);
}
}
I 'Мы уже пытались экспортировать и импортировать модули следующим образом:
// Exporting the module (Bot.js)
module.exports = { Bot };
// Importing the module (BotUpdateHandler.js)
const { Bot } = require('./Bot');
Но это не сработало.
TypeError: Bot.getCommandIndex is not a function
Я использую Node.js v10.16.0, этоКажется, работает на JavaScript браузера, когда я проверил его в консоли разработчика (очевидно, хотя я не делал никаких импортов, поэтому я предполагаю, что это как-то связано с этим).