nodejs fs,判断路径是否存在,如果不存在则创建该路径

本文介绍了如何在Node.js中使用fs核心模块来判断指定路径是否存在,如果不存在,则创建该路径。通过引入fs模块,可以轻松实现文件系统的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fs 是 nodejs 的核心模块,一般我们对文件的增删改查都可以做到,今天我要码的是,利用 fs 模块创建在我们指定位置的文件

  1. 引入fs:fs 是 nodejs 的核心模块,引入就可以用,不用 npm 安装
import fs from 'fs'
  1. 开始写核心代码
/**
   * 路径是否存在,不存在则创建
   * @param {string} dir 路径
   */
  async function dirExists(dir) {
	let isExists = await getStat(dir)
	// 如果该路径存在且不是文件,返回 true
	if (isExists && isExists.isDirectory()) {
		return true
	} else if (isExists) {  // 这个路径对应一个文件夹,无法再创建文件了
		return false
	}
	// 如果该路径不存在
	let tempDir = path.parse(dir).dir  //拿到上级路径
	// 递归判断,如果上级路径也不存在,则继续循环执行,直到存在
	let status = await dirExists(tempDir)
	let mkdirStatus
	if (status) {
		mkdirStatus = await this.mkdir(dir)
	}
	return mkdirStatus
  }

/**
   * 读取路径信息
   * @param {string} filepath 路径
   */
function getStat(filePath) {
	return new Promise((resolve, reject) => {
		fs.stat(filePath, (err, stats) => {
			if (err) {
				resolve(false)
			} else {
				resolve(stats);
			}
		})
	})
}

/**
   * 创建路径
   * @param {string} dir 路径
   */
   function mkdir(dir) {
   	return new Promise((resolve, reject) => {
   		fs.mkdir((dir, err) => {
   			if (err) {
   				resolve(false)
   			} else {
   				resolve(true)
   			}
   			})
   		}}
   	}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值