我目前有两个机器人使用一堆事件处理程序(来自api和自定义),我将它们包含在一个带有require的索引文件中:
bot.js:
const Bot = require('telegram-api');
import Emitter from './Emitter';
const bot = new Bot();
Emitter.on('bot_say', (chatId, message) => {
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
.catch(error => console.error(error));
});
bot.on('message', message => {
bot.sendMessage(chatId, 'hello', { parse_mode: 'Markdown' })
.catch(error => console.error(error));
Emitter.js:
const EventEmitter = require('events');
const Emitter = new EventEmitter();
export default Emitter;
指数:
require('./bot');
我想将其更改为es6样式导出/导入,以便我可以执行类似
的操作export default Bot;
和
import Bot from './bot';
并让事件处理程序运行。我似乎无法让它正常工作,我得到的最接近的是在构造函数中定义它们,如
class Bot {
constructor(){
super();
this.on('bot_say', (chatId, message) => {
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
.catch(error => console.error(error));
}
}
}
看起来很乱。
最好的方法是什么?