我有一个生成文件的小节点模块。
因为它非常慢并且会为同一输入产生相同的结果,所以我希望将最后一次编译与控件哈希保持在一起。
问题是现在我在哪里放置临时文件以便于访问?
如果依赖于我的模块的主节点应用程序重新启动,缓存也应该有效。
答案 0 :(得分:1)
我会将所有评论收集到答案中。
据我所知,模块没有提供NPM标准的临时文件。放置它们的最佳位置取决于文件权限的配置方式,您正在运行的操作系统,主机应用程序的运行权限,托管环境的类型等等。
逻辑选项如下:
temp
子目录中。您可以通过os.tmpdir()
找到操作系统临时目录的位置。
模块下方的temp
子目录。请记住,使用模块可能有多个进程,因此如果您将文件放在可能由多个进程共享的位置,那么如果文件应该是单独的,则需要使用生成的唯一名称。如果文件应该在进程之间共享,则进程或适当的锁定。
并且,不要忘记清理维护,因此不会随着时间的推移积累临时文件。