📜  Node.js fs.extra ensureDir()函数

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

Node.js fs.extra ensureDir()函数

ensureDir()函数确保用户请求的目录存在。如果目录结构不存在,该函数将自行创建结构。 mkdirs()mkdirp()是函数的其他名称,这意味着我们可以使用它们来代替 ensureDir() 并且一切都会按原样工作。

句法:

fs.ensureDir(dir,options,callback)
// OR
fs.mkdirs(dir,options,callback)
// OR
fs.mkdirp(dir,options,callback)

参数:该函数接受以下三个参数:

  1. dir:它是一个包含目录路径的字符串。
  2. options:它是一个对象或整数,用于指定可选参数。
    • 整数:如果是整数,则为模式。
    • 对象:如果它是一个对象,它将是 {mode: integer}。
  3. callback:函数完成任务后调用。这将导致错误或成功。 Promise 也可以用来代替回调函数。

返回值:它不返回任何东西。

按照以下步骤实现该函数:

步骤1:可以使用以下命令安装模块:

npm install fs-extra

步骤2:安装模块后,您可以使用以下命令检查已安装模块的版本:

npm ls fs-extra

第 3 步:创建一个名为index.js的文件,并使用以下命令在文件中使用fs-extra模块:

const fs = require('fs-extra');

第 4 步:要运行该文件,请在终端中写入以下命令:

node index.js

项目结构:项目结构将如下所示。

示例 1:创建一个名为“direc”的目录。我们将把这个目录传递给函数。

index.js
// Requiring module
const fs = require("fs-extra");
  
// The directory already
// exists so function will do nothing
const dir = "direc";
  
// Function call using callback functions
fs.ensureDir(dir, (err) => {
  if (err) return console.log(err);
  console.log("Directory exists");
});


index.js
// Requiring module
const fs = require("fs-extra");
  
// The directory structure
// does not exist so function will create it
const dir = "direc/dir";
  
// Additional options Specifying mode
const options = {
  mode: 0o2775,
};
  
// Function call using Promises
fs.ensureDir(dir, options)
  .then(() => console.log("Directory Structure Created"))
  .catch((e) => console.log(e));


使用以下命令运行index.js文件:

node index.js

输出:

Directory exists

示例 2:这次我们将传递一个不存在的目录结构。

index.js

// Requiring module
const fs = require("fs-extra");
  
// The directory structure
// does not exist so function will create it
const dir = "direc/dir";
  
// Additional options Specifying mode
const options = {
  mode: 0o2775,
};
  
// Function call using Promises
fs.ensureDir(dir, options)
  .then(() => console.log("Directory Structure Created"))
  .catch((e) => console.log(e));

使用以下命令运行index.js文件:

node index.js

输出:

Directory Structure Created

参考: https://github.com/jprichardson/node-fs-extra/blob/HEAD/docs/ensureDir.md