上下文存储 API

0.19 版新增

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

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

要创建自定义上下文存储,应创建一个实现存储模块 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);
};

构造函数返回的对象必须实现此处详细说明的所有函数。