Eventline 是一个微框架,用于为机器人和应用程序路由和处理事件。
它有助于轻松构建以一致的方式响应事件流并且易于测试和理解的系统。
Eventline重点关注ERA(Event Source、Router、Action)架构模式中的Router,同时提供约定优于配置的设计,以便更容易集成其他系统。
您可以将 Eventline 单独与自定义事件源或其他框架(例如 Botpress 或 Botkit)结合使用。
要安装,只需运行:
npm install eventline --save
要查看示例,请克隆此存储库并运行: npm run example
on ( event )
. then ( this )
. then ( that )
约定优于配置我们通过实施声明性 API 来优化 Eventline,以提高开发人员的工作效率,从而使您可以轻松了解应用程序正在执行的操作。
易于扩展我们拥有非常灵活的中间件和组件系统,可以使用新功能轻松扩展您的应用程序并使用库。
现代但得到良好支持的Eventline 是用 Typescript 编写的,以确保代码稳定和健壮,同时仍然支持 ECMAScript 5。
异步支持Eventline 构建在 ES5 Promise 之上,使异步行为成为一等公民,而不必陷入 Promise 或回调地狱。
轻量级Eventline是ERA(事件源、路由器、操作)架构中的路由器。它是对您自己的自定义代码或框架(例如 Botpress 或 Botkit)的轻量级补充,而不是另一个机器人框架。
如果你不相信我们,它总共有 3 个依赖项。
Stateless Everything 的构建是为了推广无状态架构,每个动作和中间件都围绕函数式编程构建;获取一个事件并将其返回以进行下一步。
这使得您可以更轻松地推断应用程序中发生的情况。
我将 Eventline 编写为一种轻量级方法,以获得轻松构建 Sure 聊天机器人的基本方法。我已经构建并贡献了像 Bottr 和 Botpress 这样的框架,这些框架采用全有或全无的方法。
使用此框架可以轻松构建可预测且易于理解的聊天机器人,而无需重新编写整个应用程序。
Eventline 的组件和基于声明式的架构与 React、Express.js 和 Redux 相似。
它结合了 Bottr、Botpress 和 BroidKit 的功能,提供灵活且易于使用的路由器系统。
聊天机器人本质上是一个非常异步、基于状态和事件的应用程序。正如 Redux 文档中提到的,我们的代码必须比以前管理更多的事情。
要了解 Eventline 背后的一些动机,您应该阅读 Redux 文档 http://redux.js.org/docs/introduction/Motivation.html
我们试图将其中一些想法引入聊天机器人世界,从而更容易以声明性方式将事件路由到一系列操作。
我们感谢社区贡献的错误修复和改进。