📜  如何使用 NodeJS 创建目录?

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

如何使用 NodeJS 创建目录?

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

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

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

索引.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 !!");
  }
});

输出:

  • 新目录创建成功。

    索引.js

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

    索引.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 !!");
  }
});

输出

索引.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!");
});

输出: