我需要在 node.js 中按需创建一个临时的“临时”目录。要求是:
- 目录名应该是随机的(即
/tmp/aDIge4G/
- 目录将在
/tmp
中创建,其中可能已经有其他随机命名的目录。 - 如果目录已经存在,我应该扔掉而不是使用它并覆盖别人的工作
- 这需要在并发环境中是安全的。我不能只检查目录是否存在,如果不存在则创建它,因为其他人可能在我检查之后创建了一个具有相同名称的目录。
换句话说,我需要 this 的答案问题,但对于目录,而不是文件。
This回答说我想做的可以通过mkdir -p
来完成,但是Node没有fs.mkdir
的-p
标志>
最佳答案
当前 Node api建议创建一个临时文件夹:https://nodejs.org/api/fs.html#fs_fs_mkdtemp_prefix_options_callback
给出:
fs.mkdtemp(path.join(os.tmpdir(), 'foo-'), (err, folder) => {
if (err) throw err;
console.log(folder);
// Prints: /tmp/foo-itXde2
});
// folder /tmp/foo-itXde2 has been created on the file system
关于javascript - 如何在没有冲突的 Node 中创建 tmp 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733684/