📅  最后修改于: 2023-12-03 14:45:56.882000             🧑  作者: Mango
在 TypeScript 中,我们可以使用 Node.js 的 fs
模块来操作文件系统。如果要创建一个目录,我们可以使用 fs.mkdirSync()
方法。但是,如果我们要在创建之前检查目录是否存在,该怎么办呢?在这篇文章中,我将向您展示如何在 TypeScript 中创建不存在的目录。
我们可以使用 fs.existsSync()
方法来检查目录是否存在。该方法返回 true
或 false
,具体取决于目录是否存在。以下是一个示例代码片段:
import * as fs from 'fs';
const dir = '/path/to/dir';
if (!fs.existsSync(dir)) {
console.log(`${dir} does not exist`);
}
如果目录不存在,我们可以使用 fs.mkdirSync()
方法来创建它。以下是一个示例代码片段:
import * as fs from 'fs';
const dir = '/path/to/dir';
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
console.log(`Created ${dir}`);
} else {
console.log(`${dir} already exists`);
}
在上面的代码中,我们首先检查目录是否存在。如果目录不存在,我们使用 fs.mkdirSync()
方法创建它。如果目录已经存在,我们输出一个消息表示目录已经存在。
如果要递归地创建目录,我们可以使用 npm 上的 mkdirp
库。该库允许我们创建任意深度的目录结构。以下是一个示例代码片段:
首先要使用npm安装 mkdirp:
npm install mkdirp --save
import * as mkdirp from 'mkdirp';
const dir = '/path/to/dir';
mkdirp(dir, (err) => {
if (err) {
console.error(err);
} else {
console.log(`Created ${dir}`);
}
});
在上面的代码中,我们使用 mkdirp()
方法递归地创建目录结构。该方法的第二个参数是一个回调函数,用于处理任何错误。如果该方法成功创建目录,则回调函数不接收任何参数。
因此,我们已经介绍了如何在 TypeScript 中创建不存在的目录。我们可以使用 fs.existsSync()
方法检查目录是否存在,并使用 fs.mkdirSync()
方法创建目录。如果需要递归地创建目录结构,我们可以使用 mkdirp
库。