您的位置:

Node.js创建文件夹详解

一、Node.js创建文件夹的基本方法

在Node.js中,我们可以使用fs模块的mkdir()方法来创建一个新的目录。

const fs = require('fs');
 
fs.mkdir('/newDirectory', { recursive: true }, (err) => {
  if (err) throw err;
});

上述代码中,我们使用mkdir()方法在根目录下创建了一个名为newDirectory的目录。其中,第二个参数{ recursive: true }的作用是,当父级目录不存在时,也可以创建。

当创建文件夹时发生错误,我们需要使用try-catch或者error-first回调函数处理错误。

二、Node.js递归创建多级目录

在某些情况下,我们需要创建多级嵌套的目录结构。例如,在创建一个深度为3级的文件目录时,我们可以这样做:

const fs = require('fs');
 
const directory = '/rootFolder/firstLevelFolder/secondLevelFolder';
 
fs.mkdir(directory, { recursive: true }, (err) => {
  if (err) throw err;
});

需要注意的是,我们使用的是{ recursive: true }这个参数,它可以在目录结构不存在的情况下创建目录。

三、Node.js同步创建文件夹

在某些情况下,我们需要在创建文件夹时等待它完成,再执行下一步操作。这时我们可以使用mkdirSync()方法同步创建目录。

const fs = require('fs');
 
try {
  fs.mkdirSync('/newDirectory');
} catch (err) {
  console.error(err);
}

四、Node.js判断文件夹是否存在

在创建文件夹之前,我们需要判断该目录是否已经存在。我们可以使用fs模块的exists()或者access()方法来检查路径是否存在。

第一种方式使用的是exists()方法,它将返回一个布尔值,判断该路径是否存在,代码如下:

const fs = require('fs');

fs.exists('/path/to/directory', (exists) => {
  if (exists) {
    console.log('Directory exists!');
  } else {
    console.log('Directory does not exist!');
  }
});

第二种方式使用的是access()方法,它会检查路径是否存在(并不是检查目录是否存在),如果访问被允许则返回undefined,如果访问被拒绝则返回错误。代码如下:

const fs = require('fs');

fs.access('/path/to/directory', (err) => {
  if (err) {
    console.log('Directory does not exist!');
  } else {
    console.log('Directory exists!');
  }
});

五、Node.js删除指定文件夹

Node.js中通过rmdir()方法删除指定的目录。在删除目录之前,需要确保该目录已经被清空。下面是删除指定目录的示例代码:

const fs = require('fs');

try {
  fs.rmdirSync('/path/to/directory');
  console.log('Directory has been deleted!');
} catch (err) {
  console.error(err);
}

需要注意的是,rmdir()方法只能删除空目录。如果该目录非空,则会抛出错误。