当前位置:首页 > JavaScript

js实现文件夹

2026-01-16 12:29:41JavaScript

使用JavaScript创建文件夹

在浏览器端的JavaScript中无法直接操作文件系统创建文件夹,这是出于安全考虑。但在Node.js环境中可以通过文件系统模块(fs)实现。

Node.js中使用fs.mkdir()方法创建文件夹:

const fs = require('fs');

fs.mkdir('./newFolder', (err) => {
  if (err) throw err;
  console.log('文件夹创建成功');
});

递归创建多级目录

使用fs.mkdir()recursive选项可以创建多级目录:

fs.mkdir('./parent/child/grandchild', { recursive: true }, (err) => {
  if (err) throw err;
});

检查文件夹是否存在

创建前先检查文件夹是否存在:

fs.access('./folder', fs.constants.F_OK, (err) => {
  if (err) {
    fs.mkdir('./folder', (err) => {});
  }
});

浏览器中的替代方案

在浏览器中可以通过以下方式模拟:

  • 使用<input type="file" webkitdirectory>让用户选择文件夹
  • 通过IndexedDB存储分层数据模拟文件夹结构
  • 使用Web Storage API存储键值对

使用Promise版本

Node.js 10+支持Promise版本的fs模块:

const fs = require('fs').promises;

async function createFolder() {
  try {
    await fs.mkdir('./newFolder');
  } catch (err) {
    console.error(err);
  }
}

删除文件夹

删除文件夹使用fs.rmdir()

fs.rmdir('./folder', (err) => {
  if (err) throw err;
});

递归删除使用第三方模块如rimraf或Node.js 12.10+的fs.rm()

js实现文件夹

fs.rm('./folder', { recursive: true }, (err) => {});

标签: 文件夹js
分享给朋友:

相关文章

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js 实现递归

js 实现递归

递归的基本概念 递归是指函数直接或间接调用自身的过程。在JavaScript中,递归通常用于解决可以分解为相似子问题的问题,如阶乘、斐波那契数列、树形结构遍历等。 递归的实现要点 基线条件(Base…