一、Node.js创建文件夹的基本方法
在Node.js中,我们可以使用fs模块的mkdir()方法来创建一个新的目录。
const fs = require('fs');
fs.mkdir('/newDirectory', { recursive: true }, (err) => {
if (err) throw err;
});
上述代码中,我们使用mkdir()方法在根目录下创建了一个名为newDirectory的目录。其中,第二个参数{ recursive: true }的作用是,当父级目录不存在时,也可以创建。
当创建文件夹时发生错误,我们需要使用try-catch或者error-first回调函数处理错误。
二、Node.js递归创建多级目录
在某些情况下,我们需要创建多级嵌套的目录结构。例如,在创建一个深度为3级的文件目录时,我们可以这样做:
const fs = require('fs');
const directory = '/rootFolder/firstLevelFolder/secondLevelFolder';
fs.mkdir(directory, { recursive: true }, (err) => {
if (err) throw err;
});
需要注意的是,我们使用的是{ recursive: true }这个参数,它可以在目录结构不存在的情况下创建目录。
三、Node.js同步创建文件夹
在某些情况下,我们需要在创建文件夹时等待它完成,再执行下一步操作。这时我们可以使用mkdirSync()方法同步创建目录。
const fs = require('fs');
try {
fs.mkdirSync('/newDirectory');
} catch (err) {
console.error(err);
}
四、Node.js判断文件夹是否存在
在创建文件夹之前,我们需要判断该目录是否已经存在。我们可以使用fs模块的exists()或者access()方法来检查路径是否存在。
第一种方式使用的是exists()方法,它将返回一个布尔值,判断该路径是否存在,代码如下:
const fs = require('fs');
fs.exists('/path/to/directory', (exists) => {
if (exists) {
console.log('Directory exists!');
} else {
console.log('Directory does not exist!');
}
});
第二种方式使用的是access()方法,它会检查路径是否存在(并不是检查目录是否存在),如果访问被允许则返回undefined,如果访问被拒绝则返回错误。代码如下:
const fs = require('fs');
fs.access('/path/to/directory', (err) => {
if (err) {
console.log('Directory does not exist!');
} else {
console.log('Directory exists!');
}
});
五、Node.js删除指定文件夹
Node.js中通过rmdir()方法删除指定的目录。在删除目录之前,需要确保该目录已经被清空。下面是删除指定目录的示例代码:
const fs = require('fs');
try {
fs.rmdirSync('/path/to/directory');
console.log('Directory has been deleted!');
} catch (err) {
console.error(err);
}
需要注意的是,rmdir()方法只能删除空目录。如果该目录非空,则会抛出错误。