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实践。