📜  如何使用 Node.js 创建目录?

📅  最后修改于: 2022-05-13 01:56:52.844000             🧑  作者: Mango

如何使用 Node.js 创建目录?

在本文中,我们将使用NodeJS创建一个目录

NodeJSFilesystem(fs)核心模块,可以与文件系统交互,有Node.js fs.mkdir() 方法Node.js fs.mkdirSync() 方法方法,用于创建新目录/父目录。

Node.js fs.mkdir() 方法:让我们使用fs.mkdir()方法创建一个新目录。最初,我们有单个文件index.js,正如我们在给定图像中看到的那样。

index.js

示例:编辑 index.js 文件。

Javascript
const fs = require("fs");
  
const path = "./new-Directory";
  
fs.access(path, (error) => {
   
  // To check if the given directory 
  // already exists or not
  if (error) {
    // If current directory does not exist
    // then create it
    fs.mkdir(path, (error) => {
      if (error) {
        console.log(error);
      } else {
        console.log("New Directory created successfully !!");
      }
    });
  } else {
    console.log("Given Directory already exists !!");
  }
});


Javascript
const fs = require("fs");
  
// Multilevel directory
const path = "./directory1/directory2/new-directory";
  
fs.access(path, (error) => {
  
  // To check if given directory 
  // already exists or not
  if (error) {
    // If current directory does not exist then create it
    fs.mkdir(path, { recursive: true }, (error) => {
      if (error) {
        console.log(error);
      } else {
        console.log("New Directory created successfully !!");
      }
    });
  } else {
    console.log("Given Directory already exists !!");
  }
});


Javascript
const fs1 = require("fs-extra");
  
const path = "./directory1";
  
fs1.remove(path, (error) => {
  if (error) {
    console.log(error);
  } else {
    console.log("Folder Deleted Successfully !!");
  }
});


Javascript
const fs1 = require("fs-extra");
  
// Node.js program to demonstrate the
// fs.mkdirSync() method
  
const fs = require("fs");
  
const path = require("path");
  
// Using fs.exists() method to
// Check that the directory exists or not
console.log("Checking for directory" + path.join(__dirname, "Tisu"));
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
  console.log(exists ? "The directory already exists" : "Not found!");
});
  
// Using fs.mkdirSync() method
// To create the directory recursively
fs.mkdirSync(path.join(__dirname, "Tisu"), true);
  
// Using fs.exists() method to
// Check that the directory exists or not
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
  console.log(exists ? "The directory already exists" : "Not found!");
});


输出:

  • 您可以检查终端输出。

  • 执行上述代码后,node.js 会在不存在的情况下新建一个目录。创建了一个名为“ new-Directory ”的新目录。

创建父目录:如果我们想创建多级目录, fs.mkdir() 有可选的递归布尔值,我们可以作为参数传递。

Javascript

const fs = require("fs");
  
// Multilevel directory
const path = "./directory1/directory2/new-directory";
  
fs.access(path, (error) => {
  
  // To check if given directory 
  // already exists or not
  if (error) {
    // If current directory does not exist then create it
    fs.mkdir(path, { recursive: true }, (error) => {
      if (error) {
        console.log(error);
      } else {
        console.log("New Directory created successfully !!");
      }
    });
  } else {
    console.log("Given Directory already exists !!");
  }
});

输出:

  • 新目录创建成功。

    index.js

  • 我们可以看到创建了一个多级目录“ directory1\directory2\new-directory ”。

    index.js

删除文件夹:如果我们想删除给定的目录,我们可以使用 Node.js 的 fs.rmdir() 方法或 Node.js 的 fs.rmdirSync() 方法,如果目录包含一些文件内容会变得复杂。

所以我们可以使用npm提供的第三方包fs-extra来删除给定的目录。让我们使用npm安装给定的包。

在命令行中运行以下命令

npm install fs-extra

示例:现在运行以下代码以删除给定目录

Javascript

const fs1 = require("fs-extra");
  
const path = "./directory1";
  
fs1.remove(path, (error) => {
  if (error) {
    console.log(error);
  } else {
    console.log("Folder Deleted Successfully !!");
  }
});

输出

index.js

Node.js fs.mkdirSync() 方法:让我们使用 fs.mkdirSync() 方法创建一个新目录。最初,我们有单个文件 index.js,正如我们在给定图像中看到的那样。

例子:

Javascript

const fs1 = require("fs-extra");
  
// Node.js program to demonstrate the
// fs.mkdirSync() method
  
const fs = require("fs");
  
const path = require("path");
  
// Using fs.exists() method to
// Check that the directory exists or not
console.log("Checking for directory" + path.join(__dirname, "Tisu"));
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
  console.log(exists ? "The directory already exists" : "Not found!");
});
  
// Using fs.mkdirSync() method
// To create the directory recursively
fs.mkdirSync(path.join(__dirname, "Tisu"), true);
  
// Using fs.exists() method to
// Check that the directory exists or not
fs.exists(path.join(__dirname, "Tisu"), (exists) => {
  console.log(exists ? "The directory already exists" : "Not found!");
});

输出: