prefix{string}options{string|Object}encoding{string} 默认值:'utf8'。
callback{Function}err{Error}directory{string}
创建一个唯一的临时目录。
生成要附加在必需的 prefix 后面的六位随机字符,以创建唯一的临时目录。
由于平台的不一致性,请避免在 prefix 中以 X 字符结尾。
在某些平台上,特别是 BSD,可以返回六个以上的随机字符,并用随机字符替换 prefix 中结尾的 X 字符。
创建的目录路径作为字符串传给回调的第二个参数。
可选的 options 参数可以是指定字符编码的字符串,也可以是具有指定要使用的字符编码的 encoding 属性的对象。
fs.mkdtemp(path.join(os.tmpdir(), '目录-'), (err, directory) => {if (err) throw err;console.log(directory);// 打印: /tmp/目录-itXde2 或 C:\Users\...\AppData\Local\Temp\目录-itXde2});
fs.mkdtemp() 方法将六位随机选择的字符直接附加到 prefix 字符串。
例如,给定目录 /tmp,如果打算在 /tmp 中创建临时目录,则 prefix 必须在尾部加上特定平台的路径分隔符(require('path').sep)。
// 新的临时目录的父目录。const tmpDir = os.tmpdir();// 此用法是错误的:fs.mkdtemp(tmpDir, (err, directory) => {if (err) throw err;console.log(directory);// 输出类似 `/tmpabc123`。// 新的临时目录会被创建在文件系统根目录,而不是在 /tmp 目录中。});// 此用法是正确的:const { sep } = require('path');fs.mkdtemp(`${tmpDir}${sep}`, (err, directory) => {if (err) throw err;console.log(directory);// 输出类似 `/tmp/abc123`。// 新的临时目录会被创建在 /tmp 目录中。});
