📜  如何使用 NodeJS 创建目录?(1)

📅  最后修改于: 2023-12-03 15:23:56.704000             🧑  作者: Mango

如何使用 NodeJS 创建目录

在 NodeJS 中,通过使用 fs 模块的 mkdirSync() 方法可以很容易地创建新的目录。这个方法可以同步执行,也可以通过使用 mkdir() 方法来异步执行。

同步创建目录

使用 mkdirSync() 方法可以同步创建一个新目录,这个方法会在当前路径下创建一个新的目录,并在创建完成后返回一个 undefined 值。

const fs = require('fs');

try {
  fs.mkdirSync('./my-directory');
  console.log('目录创建成功');
} catch (err) {
  console.error(err);
}
异步创建目录

使用 mkdir() 方法可以异步地创建一个新目录,这个方法使用回调函数来获取创建结果,并且在创建完成后调用回调函数。

const fs = require('fs');

fs.mkdir('./my-directory', function (err) {
  if (err) {
    console.error(err);
  } else {
    console.log('目录创建成功');
  }
});

在回调函数中,如果创建成功,那么错误参数 err 为 null;否则就是一个错误对象,用来描述创建失败原因。

创建多级目录

有时候需要创建多级目录,例如创建 /path/to/my-directory 这样嵌套的目录结构。在这种情况下,可以使用 mkdir() 方法来创建每个目录。

const fs = require('fs');
const path = require('path');

const dir = '/path/to/my-directory';

fs.mkdir(path.dirname(dir), { recursive: true }, (err) => {
  if (err) {
    console.error(err)
  } else {
    console.log("目录创建成功");
  }
});

在这个例子中,我们使用了 path.dirname() 方法来获取目录的父级目录路径,并将其作为 mkdir() 方法的第一个参数传递。同时,我们使用了 { recursive: true } 参数来创建多级目录。

结论

在 NodeJS 中,通过使用 fs 模块的 mkdir()mkdirSync() 方法可以很容易地创建新的目录。无论是同步还是异步执行,都可以通过回调函数来获取创建结果。在创建多级目录时,可以使用 mkdir() 方法来创建每个目录。