节点中创建 tmp 目录"/>
如何在没有冲突的情况下在节点中创建 tmp 目录
我需要在 node.js 中按需创建一个临时的“scratch”目录。要求是:
- 目录名应该是随机的(即
/tmp/aDIge4G/
- 目录将在
内创建,其中可能已经有其他随机命名的目录。/tmp
- 如果目录已经存在,我应该扔掉而不是使用它并覆盖别人的工作
- 这需要在并发环境中是安全的。我不能只检查目录是否存在,如果不存在则创建它,因为其他人可能创建了一个同名目录after我检查过。
换句话说,我需要 this 问题的答案,但对于目录,而不是文件。
这个答案说我想做的事情可以通过
mkdir -p
完成,但是Node没有-p
的
fs.mkdir
标志
回答如下:
当前节点api建议创建一个临时文件夹:https://nodejs/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
更多推荐
如何在没有冲突的情况下在节点中创建 tmp 目录
发布评论