2021-07-12-nodeRed 源码分析6- storage 存储模块分析
storage 存储模块分析#
所依赖的库#
- when
- path
- crypto
API#
存储API使用插件式配置Node-RED运行时存储数据
Function | Description |
---|---|
Storage.init(settings) | initialise the storage system |
Storage.getFlows() | get the flow configuration |
Storage.saveFlows(flows) | save the flow configuration |
Storage.getCredentials() | get the flow credentials |
Storage.saveCredentials(credentials) | save the flow credentials |
Storage.getSettings() | get the user settings |
Storage.saveSettings(settings) | save the user settings |
Storage.getSessions() | get the user sessions |
Storage.saveSessions(sessions) | save the user sessions |
Storage.getLibraryEntry(type,name) | get a type-specific library entry |
Storage.saveLibraryEntry(type,name,meta,body) | save a type-specific library entry |
涉及文件#
- start流程()
- .config.json 或 .config.nodes.json
- 首先查看环境目录下 process.env.NODE_RED_HOME
- 再查看用户环境目录 process.env.HOMEPATH
- 都没有,找 process.env.HOME || process.env.USERPROFILE || process.env.HOMEPATH || process.env.NODE_RED_HOME,”.node-red”
- package.json
- 用户目录下
- .sessions.json
- 用户目录下
- 维护会话信息:用户名,密码,token,超时时间
- 每一个建立的会话都会记录
- flows_hostname().json 和 flows_hostname().json.backup
- 用户目录下,流文件和备份文件
- flows_hostname()_cred.json 和 flows_hostname()_cred.json.backup
- 用户目录下
- 用以保存节点中以.credentials保存的信息,加密与否可使用配置文件中credentialSecret参数配置
- .config.runtime.json
- 运行时配置
- .config.users.json
- 用户配置
- .config.nodes.json
- 节点配置
- .config.projects.json
- Git 配置
- .config.json 或 .config.nodes.json
代码分析#
参与流程#
2021-07-12-nodeRed 源码分析6- storage 存储模块分析
https://blog.buqia.fun/2022/02/17/2021-07-12-nodeRed-源码分析6-storage-存储模块分析/