【发布时间】:2015-10-28 17:18:07
【问题描述】:
我正在开发一个 npm 模块,用户可以通过终端通过执行命令与它进行交互:
> mymodule init
> mymodule do stuff
当执行某些命令时,用户被要求提供一些数据,这些数据将被模块使用。由于这些数据在使用模块时不会真正改变,而且这些命令可以非常频繁地执行,所以在用户运行命令时询问数据并不是最好的选择。所以我决定缓存这些数据,一旦它应该通过多个模块调用,我看到的最简单的存储它的方法是一个文件(数据结构允许将它存储在一个简单的 JSON 中)。但我很确定这个文件应该放在用户机器上的什么位置。
考虑到模块本身可以全局安装在多个操作系统上并且可以在同时进行多个项目?
我正在考虑将其存储在模块的文件夹中,但在全局安装 + 多项目使用的情况下可能会很棘手。第二个想法是将它存储在操作系统特定的 tmp 存储中,但我也不太确定。我也想知道在这种情况下是否有文件存储的替代方案。
【问题讨论】: