json-rules-engine node 基于json的规则引擎
json-rules-engine 是一个node 的基于json 规则引擎,使用上比较简单,但是提供了不少方便的能力
包含的特性
- 基于json 进行规则描述
- 支持ALL,ANY 等布尔操作
- 快速
- 安全,没有使用eval 函数
- 同构,支持node 以及浏览器
- 轻量级,只包含了少量依赖
一些术语
里边的一些术语与通用规则引擎是类似的,比如facts 是方法或者一些在运行使用的常量数据,支持静态,以及动态模式 almanac是对于facts 进行管理的一个上下文对象 rule 就是对于规则引擎需要处理的逻辑的定义
说明
类似基于json 进行规则引擎开发的东西还是比较多的,比如微软也开源了一个基于json 的规则引擎RulesEngine,java 的easy-rules 也是一个不错的选择
参考资料
https://github.com/CacheControl/json-rules-engine
https://github.com/microsoft/RulesEngine
https://microsoft.github.io/RulesEngine/
https://github.com/CacheControl/json-rules-engine/blob/master/docs/almanac.md
https://github.com/CacheControl/json-rules-engine/blob/master/docs/rules.md
https://github.com/CacheControl/json-rules-engine/blob/master/docs/engine.md
https://github.com/CacheControl/json-rules-engine/blob/master/docs/facts.md