如何保持在nodejs中的多个运行之间的临时文件?

我有一个生成文件的小节点模块。

因为它真的很慢,并会产生相同的input相同的结果,我想保持与控制散列最后编译在一起。

现在的问题是我需要在哪里放置临时文件,以便于访问?

如果依赖于我的模块的主节点应用程序重新启动,caching也应该工作。

  • Node.js事件监听器被阻止?
  • 如何显示“npm过时”当前!=只想要的行?
  • 在另一个NodeJS进程中执行一个JS文件(包含日志等)
  • mongoosefindOne范围怀疑
  • JavaScript对象按字母顺序排列
  • Node.js API函数是否在不同的线程中执行
  • Electron中的错误消息和控制台日志?
  • 如何将一个对象从gulpfile传递给nodejs中的另一个JavaScript文件?
  • 我将把我所有的意见收集到一个答案中。

    据我所知,对于模块放置临时文件的位置,没有NPM标准。 放置它们的最佳位置取决于如何configuration文件权限,您正在运行的操作系统,主机应用程序运行的权限,主机环境的types等等。

    逻辑选项如下:

    1. 在OS临时目录中
    2. 在模块目录下的temp子目录中。
    3. 在可configuration的目录中,模块的用户可以通过configuration参数或通过环境variables指定。

    你可以通过os.tmpdir()findOS临时目录的位置。

    模块下面的temp子目录。 请记住,使用一个模块可以有多个进程,所以如果你把文件放在一个可以被多个进程共享的位置,那么你需要使用生成的唯一名称,如果这些文件应该是每个进程独立的如果文件应该在进程之间共享,则适当locking。

    而且,不要忘记清理维护,这样就不会随着时间的推移build立临时文件。