在 TypeScript 中导入和使用“fs”模块

在 TypeScript 中导入并使用“fs”模块

Import and use the ‘fs’ module in TypeScript

要在 TypeScript 中导入和使用该fs模块,请确保通过使用以下行node运行npm i -D @types/node和导入来安装类型定义,或者
如果使用 fs promises。
fsimport * as fs from 'fs'import { promises as fsPromises } from 'fs'

您需要做的第一件事是通过在项目的根目录中打开终端并运行以下命令来确保您已经安装了类型。 node
npm i -D @types/node

这会将节点的类型添加为项目中的开发依赖项。节点类型包括内置fs模块的类型定义。

下面是一个如何导入和使用fs. 我将发布一个同步使用该模块的代码片段,下一个代码片段将使用相同方法的异步版本。

索引.ts
import * as fs from 'fs'; import * as path from 'path'; function readFile() { const dirContents = fs.readdirSync(__dirname); console.log(dirContents); const fileContents = fs.readFileSync( path.join(__dirname, 'another-file.ts'), { encoding: 'utf-8', }, ); console.log(fileContents); } readFile();

我们导入了fspath内置模块,并使用了
readdirSync

readFileSync
方法。

readdirSync方法读取目录的内容和readFileSync– 特定文件的内容。

该示例假定您有一个名为 的文件another-file.ts 位于与 fs 相关的代码所在的同一目录中。

这是从代码段运行代码后的输出。

导入使用 fs 模块打字稿

现在让我们看看如何使用fs模块的 promises 版本。

这是使用相同方法的异步(承诺)版本的代码片段。

索引.ts
import { promises as fsPromises } from 'fs'; import * as path from 'path'; async function readFile() { try { // ✅ Read contents of directory const dirContents = await fsPromises.readdir(__dirname); console.log(dirContents); // ✅ Read contents of `another-file.ts` in the same directory const fileContents = await fsPromises.readFile( path.join(__dirname, './another-file.ts'), { encoding: 'utf-8' }, ); console.log(fileContents); } catch (err) { console.log('error is: ', err); } } readFile();

请注意导入语句不同,现在我们promises
fs.

我们使用
fsPromises.readdir
方法读取目录的内容,使用
fsPromises.readFile
方法读取文件的内容。

该示例假定您another-file.ts在同一目录中有一个名为 的文件。

如果您需要阅读有关fs模块实现的特定方法以及如何使用它的更多信息,请查看
Node.js 文档中的 fs