如何使用 TypeScript 写入文件
使用 fs.writeFileSync()
方法在 TypeScript 中写入文件,例如 writeFileSync(join(__dirname, filename), data)
。 该方法将文件的路径、数据和选项对象作为参数,并将提供的内容写入文件。
import { readFileSync, writeFileSync, promises as fsPromises } from 'fs';
import { join } from 'path';
// ✅ 同步写入文件
function syncWriteFile(filename: string, data: any) {
/**
* flags:
* - w = Open file for reading and writing. File is created if not exists
* - a+ = Open file for reading and appending. The file is created if not exists
*/
writeFileSync(join(__dirname, filename), data, {
flag: 'w',
});
const contents = readFileSync(join(__dirname, filename), 'utf-8');
console.log(contents); // 👉️ "One Two Three Four"
return contents;
}
syncWriteFile('./example.txt', 'One\nTwo\nThree\nFour');
// --------------------------------------------------------------
// ✅ 异步写入文件
async function asyncWriteFile(filename: string, data: any) {
/**
* flags:
* - w = Open file for reading and writing. File is created if not exists
* - a+ = Open file for reading and appending. The file is created if not exists
*/
try {
await fsPromises.writeFile(join(__dirname, filename), data, {
flag: 'w',
});
const contents = await fsPromises.readFile(
join(__dirname, filename),
'utf-8',
);
console.log(contents); // 👉️ "One Two Three Four"
return contents;
} catch (err) {
console.log(err);
return 'Something went wrong';
}
}
asyncWriteFile('./example.txt', 'One\nTwo\nThree\nFour');
代码片段中的第一个函数同步写入文件。
如果我们尚未安装 node 的 types
,请运行以下命令:
$ npm install --save-dev @types/node
如果我们收到 fs 模块的类型声明未找到的错误,请将节点字符串添加到 tsconfig.json 文件中的类型数组。
{
"compilerOptions": {
"types": [
"node"
]
},
}
fs.writeFileSync
方法将文件的路径作为第一个参数,将数据作为第二个参数,将选项对象作为第三个参数。
options
对象中的 flag 属性默认设置为 w,这意味着 - “打开文件进行写入,如果不存在则创建它”。
如果要将数据附加到文件,请改用 a+ 标志,它会打开一个文件进行读取和附加,如果文件不存在,也会创建该文件。
我们可以在 Node.js 文档的此部分中查看其他可用的标志值。
__dirname
变量返回当前模块的目录名。
例如,如果我们在位于 /home/user/my-module.js 的模块中使用 __dirname
变量,则 __dirname
变量将返回 /home/user。
我们使用 path.join
方法将当前模块目录的路径与提供的文件名连接起来。
上面的代码片段写入一个名为 example.txt 的文件,该文件与当前模块位于同一目录中。
例如,如果我们正在写入的文件位于上一个目录,我们可以将 ../example.txt 作为参数传递给函数。
或者,我们可以使用 fsPromises
对象异步写入文件。
使用 fsPromises.writeFile()
方法在 TypeScript 中异步写入文件,例如 await fsPromises.writeFile(join(__dirname, filename), data)
。该方法将路径和数据作为参数,并将数据异步写入文件。
// ✅ 异步写入文件
async function asyncWriteFile(filename: string, data: any) {
/**
* flags:
* - w = Open file for reading and writing. File is created if not exists
* - a+ = Open file for reading and appending. The file is created if not exists
*/
try {
await fsPromises.writeFile(join(__dirname, filename), data, {
flag: 'w',
});
const contents = await fsPromises.readFile(
join(__dirname, filename),
'utf-8',
);
console.log(contents); // 👉️ "One Two Three Four"
return contents;
} catch (err) {
console.log(err);
return 'Something went wrong';
}
}
asyncWriteFile('./example.txt', 'One\nTwo\nThree\nFour');
如果文件已经存在,fsPromises.writeFile
方法将数据异步写入文件替换文件的内容。
如果要追加到文件,请在选项对象中为标志属性的值设置 a+
。
该方法返回一个 promise ,成功时 undefined
。
相关文章
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 Angular 中使用 TypeScript 的 getElementById 替换
发布时间:2023/04/14 浏览次数:153 分类:Angular
-
本教程指南提供了有关使用 TypeScript 在 Angular 中替换 document.getElementById 的简要说明。这也提供了在 Angular 中 getElementById 的最佳方法。
在 TypeScript 中使用 try..catch..finally 处理异常
发布时间:2023/03/19 浏览次数:181 分类:TypeScript
-
本文详细介绍了如何在 TypeScript 中使用 try..catch..finally 进行异常处理,并附有示例。
在 TypeScript 中使用 declare 关键字
发布时间:2023/03/19 浏览次数:97 分类:TypeScript
-
本教程指南通过特定的实现和编码示例深入了解了 TypeScript 中 declare 关键字的用途。
在 TypeScript 中 get 和 set
发布时间:2023/03/19 浏览次数:172 分类:TypeScript
-
本篇文章演示了类的 get 和 set 属性以及如何在 TypeScript 中实现它。
在 TypeScript 中格式化日期和时间
发布时间:2023/03/19 浏览次数:161 分类:TypeScript
-
本教程介绍内置对象 Date() 并讨论在 Typescript 中获取、设置和格式化日期和时间的各种方法。
在 TypeScript 中返回一个 Promise
发布时间:2023/03/19 浏览次数:182 分类:TypeScript
-
本教程讨论如何在 TypeScript 中返回正确的 Promise。这将提供 TypeScript 中 Returns Promise 的完整编码示例,并完整演示每个步骤。
在 TypeScript 中定义函数回调的类型
发布时间:2023/03/19 浏览次数:221 分类:TypeScript
-
本教程说明了在 TypeScript 中为函数回调定义类型的解决方案。为了程序员的方便和方便,实施了不同的编码实践指南。
在 TypeScript 中把 JSON 对象转换为一个类
发布时间:2023/03/19 浏览次数:110 分类:TypeScript
-
本教程演示了如何将 JSON 对象转换为 TypeScript 中的类。