JavaScript:
检查目录是否存在
如何操作:
在Node.js中,由于JavaScript本身不能直接访问文件系统,因此通常使用fs
模块进行此类操作。下面是使用fs.existsSync()
检查目录是否存在的简单方式:
const fs = require('fs');
const directoryPath = './sample-directory';
// 检查目录是否存在
if (fs.existsSync(directoryPath)) {
console.log('目录存在。');
} else {
console.log('目录不存在。');
}
示例输出:
目录存在。
或者,对于非阻塞的异步方法,使用fs.promises
配合async/await
:
const fs = require('fs').promises;
async function checkDirectory(directoryPath) {
try {
await fs.access(directoryPath);
console.log('目录存在。');
} catch (error) {
console.log('目录不存在。');
}
}
checkDirectory('./sample-directory');
示例输出:
目录存在。
对于大量使用文件和目录操作的项目,fs-extra
包作为原生fs
模块的扩展,提供了方便的额外方法。以下是如何使用fs-extra
达到相同的目的:
const fs = require('fs-extra');
const directoryPath = './sample-directory';
// 检查目录是否存在
fs.pathExists(directoryPath)
.then(exists => console.log(exists ? '目录存在。' : '目录不存在。'))
.catch(err => console.error(err));
示例输出:
目录存在。
这种方法使得代码清晰易读,并且能够无缝整合现代JavaScript实践。