Context Store API

0.19版本新增功能

Context Store API 提供了一种可插拔的方式来配置上下文数据的存储位置。

默认情况下,Node-RED使用该API的基于内存的实现。它还提供基于文件的实现

要创建自定义上下文存储,需要实现Store Module API的模块。

配置

settings.js 中的 contextStorage 属性可用于配置上下文存储。

这是一个包含一个或多个命名上下文存储配置的对象。

contextStorage: {
   default: {
       module:"memory",
       config: {
           customOption: 'value'
       }
   }
}

每个上下文存储配置包含两部分:一个module属性和一个config属性。

module属性用于指定要使用的上下文存储插件。它可以是内置模块的名称(目前为memorylocalfilesystem),也可以是已通过require加载的模块。

contextStorage: {
   default: {
       module:"memory",
   },
   custom: {
       module:require("my-custom-store")
   }
}

config属性是一个对象,传递给模块以提供自定义选项。

存储模块API

自定义插件模块必须导出一个单独的构造函数。当需要创建插件的新实例时,会调用此函数。该函数会接收给定实例的config属性值作为参数。这使得运行时可以拥有同一存储插件的多个实例,每个实例都有其自己的配置。

var ContextStore = function(config) {
    this.config = config;
}

ContextStore.prototype.open = function() { ... }


module.exports = function(config){
    return new ContextStore(config);
};

构造函数返回的对象必须实现此处列出的所有函数。