📜  NodeJS fs-extra ensureFile()函数

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

NodeJS fs-extra ensureFile()函数

ensureFile()函数确保用户请求的文件存在。如果文件不存在,该函数将创建一个新文件。即使用户请求某个目录中的文件,但如果该目录不存在,该函数也会在该目录中创建目录和文件。如果文件已经存在,则不会对其进行修改。 createFile()ensureFile()函数的另一个名称,这意味着我们可以使用 createFile()函数代替 ensureFile() 并且一切都会照原样工作。

句法:

fs.ensureFile(file,callback)

或者

fs.createFile(file,callback)

参数:

  • file:它是一个包含文件路径的字符串。
  • callback:函数完成任务后函数。它会导致错误或成功。 Promises 也可以用来代替回调函数。

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



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

  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:创建一个名为 file.txt 的文件。我们将在我们的函数传递这个文件



index.js
// Requiring module
const fs = require("fs-extra");
  
// file path
// File already exist
// No modification
// will be done in file
const file = "file.txt";
  
// Function call
// Using callback function
fs.createFile(file, (err) => {
  if (err) return console.log(e);
  console.log("Successfully completed");
});


index.js
// Requiring module
const fs = require("fs-extra");
  
// file path
// Path contains a directory
// which does not exist
// It will create both
// directory and file
const file = "dir/file.txt";
  
// Function call
// Using Promises
fs.createFile(file)
  .then(() => console.log("Successfully Completed"))
  .catch((err) => console.log(err));


输出:由于我们之前已经创建了文件,因此函数不会创建新文件,也不会修改文件包含的数据。

Successfully completed

示例 2:这次我们将传递不存在的文件路径。

索引.js

// Requiring module
const fs = require("fs-extra");
  
// file path
// Path contains a directory
// which does not exist
// It will create both
// directory and file
const file = "dir/file.txt";
  
// Function call
// Using Promises
fs.createFile(file)
  .then(() => console.log("Successfully Completed"))
  .catch((err) => console.log(err));

输出:您将观察到,现在创建了一个名为 dir 的目录,其中包含一个名为 file.txt 的文件。

Successfully Completed

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