• prefix {string}
    • options {string|Object}
      • encoding {string} 默认值: 'utf8'
    • callback {Function}
      • err {Error}
      • directory {string}

    创建一个唯一的临时目录。

    生成要附加在必需的 prefix 后面的六位随机字符,以创建唯一的临时目录。 由于平台的不一致性,请避免在 prefix 中以 X 字符结尾。 在某些平台上,特别是 BSD,可以返回六个以上的随机字符,并用随机字符替换 prefix 中结尾的 X 字符。

    创建的目录路径作为字符串传给回调的第二个参数。

    可选的 options 参数可以是指定字符编码的字符串,也可以是具有指定要使用的字符编码的 encoding 属性的对象。

    1. fs.mkdtemp(path.join(os.tmpdir(), '目录-'), (err, directory) => {
    2. if (err) throw err;
    3. console.log(directory);
    4. // 打印: /tmp/目录-itXde2 或 C:\Users\...\AppData\Local\Temp\目录-itXde2
    5. });

    fs.mkdtemp() 方法将六位随机选择的字符直接附加到 prefix 字符串。 例如,给定目录 /tmp,如果打算在 /tmp 中创建临时目录,则 prefix 必须在尾部加上特定平台的路径分隔符(require('path').sep)。

    1. // 新的临时目录的父目录。
    2. const tmpDir = os.tmpdir();
    3. // 此用法是错误的:
    4. fs.mkdtemp(tmpDir, (err, directory) => {
    5. if (err) throw err;
    6. console.log(directory);
    7. // 输出类似 `/tmpabc123`。
    8. // 新的临时目录会被创建在文件系统根目录,而不是在 /tmp 目录中。
    9. });
    10. // 此用法是正确的:
    11. const { sep } = require('path');
    12. fs.mkdtemp(`${tmpDir}${sep}`, (err, directory) => {
    13. if (err) throw err;
    14. console.log(directory);
    15. // 输出类似 `/tmp/abc123`。
    16. // 新的临时目录会被创建在 /tmp 目录中。
    17. });