📌  相关文章
📜  nodejs 如果不存在则创建文件夹 - Javascript (1)

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

Node.js:如果文件夹不存在则创建

在Node.js中,您可以使用Node.js的内置模块fs来处理文件系统操作。当我们需要创建一个文件夹时,我们可以使用fs.mkdir()方法。在这篇文章中,我们将学习这种方法的使用方法。

使用fs.mkdir()方法创建文件夹

以下是使用Node.js的fs模块中的fs.mkdir()方法创建文件夹的基本语法:

const fs = require('fs');

fs.mkdir(path, options, callback);

其中:

  • path:一个字符串,表示要创建的文件夹的完整路径。如果在当前工作目录中创建文件夹,则可以省略路径前缀。例如,要在当前目录下创建一个名为test的文件夹,可以使用'./test'做为路径。
  • options:一个对象,可以包含以下属性:
    • recursive:一个布尔值,如果为true,则将递归创建所有目录,否则只创建最后一个目录。
    • mode:一个数值或字符串,表示为创建的目录设置的权限。默认值为0o777(完全访问权限)。
  • callback:一个回调函数,用于处理创建文件夹时发生的错误。如果没有错误,则回调函数将不会携带任何参数。
创建文件夹的实例

以下是一个使用fs.mkdir()方法来创建文件夹的基本实例:

const fs = require('fs');

const path = './test';

fs.mkdir(path, { recursive: true }, (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Folder created successfully');
  }
});

在这个实例中,我们使用mkdir()方法创建了一个名为test的文件夹,并向回调函数传递了一个错误对象。如果有错误,则在控制台输出错误,如果没有错误,则控制台输出Folder created successfully

检查文件夹是否已存在

在某些情况下,我们需要检查要创建的文件夹是否已经存在。为此,我们可以使用fs.access()方法。以下是一个示例:

const fs = require('fs');

const path = './test';

fs.access(path, (err) => {
  if (err) {
    // 文件夹不存在,创建它
    fs.mkdir(path, { recursive: true }, (err) => {
      if (err) {
        console.error(err);
      } else {
        console.log('Folder created successfully');
      }
    });
  } else {
    // 文件夹已存在
    console.log('Folder already exists');
  }
});

在这个实例中,我们首先使用access()方法检查./test路径的可访问性。如果访问被拒绝,我们就会尝试使用fs.mkdir()方法创建这个文件夹。如果文件夹已经存在,我们就会在控制台输出Folder already exists

总结

现在您已经知道了如何使用fs.mkdir()方法在Node.js中创建文件夹以及如何检查它们是否已存在,是时候开始将这些技巧应用到您的项目中了! Happy Coding!