递归删除子目录中所有dist和node_modules

ClaudeCode配置本质:Node.js环境、CLI认证与VS Code集成三层对齐 ClaudeCode并非传统VS Code插件,而是一个依赖Node.js运行时、通过本地CLI调用Anthropic API的代理系统。其核心原理在于环境层(Node.js ABI兼容性)、认证层(ANTHROPIC_API_KEY单源权威)与路径层(.claude.json与settings.json职责分离)的三重对齐。技术价值体现在规避权限冲突、杜绝密钥明文存储、支持多模型代理扩展;典型应用场景包括国内开发者接入DeepSeek或阿里云Qwen等兼容Anthropic协议的模型服务。理解这一机制,是 阅读详情

javascript

const fs = require("fs")
const path = require("path")
const delDirs = ["node_modules", "dist"]
var shell = require("shelljs")

/** 递归删除当前目录下所有 dist / node_modules */
function del(filePath, root = "") {
  fs.stat(filePath, function (err, stat) {
    if (err) return console.log(err)

    if (stat.isFile()) {
      // do nothing
    } else {
      fs.readdir(filePath, function (err, data) {
        if (err) return console.log(err)

        // filter 需要继续递归的文件
        data = data.filter((dir) => {
          // 符合删除条件的文件名删除
          if (delDirs.includes(dir)) {
            console.log(path.join(filePath, dir))
            // root 目录不删除
            if (filePath != root) shell.rm("-rf", path.join(filePath, dir))
            return false
          }

          return true
        })

        data = data.map((dir) => path.join(filePath, dir))
        data.forEach((fullPath) => {
          del(fullPath)
        })
      })
    }
  })
}

del(__dirname, __dirname)

rust

use std::env;
use std::fs::{self};
use std::io;
use std::path::Path;

fn main() {
    
    let args: Vec<String> = env::args().collect();
    if args.len() < 3 {
        panic!("not enough args");
    }

    let root_path = Path::new(&args[1]);
    let delete_path = &args[2];

    visit_dirs(root_path, delete_path).unwrap_or_default();
}

fn visit_dirs(dir: &Path, delete_path: &String) -> io::Result<()> {
    if dir.is_dir() {
        for entry in fs::read_dir(dir)? {
            let entry = entry?;
            let path = entry.path();

            if path.is_dir() {
                let path_str = path.to_string_lossy();
                if path_str.contains(delete_path) {
                    println!("{} has been deleted", path_str);
                    fs::remove_dir_all(String::from(path_str))?;
                } else {
                    visit_dirs(&path, delete_path)?;
                }
            }
        }
    }
    Ok(())
}

别再手动过滤了!TortoiseSVN忽略文件全攻略:从.idea到target,一劳永逸的配置清单 本文详细介绍了TortoiseSVN忽略文件的全面配置方法,从.idea到target目录,帮助开发者一劳永逸地解决无效提交问题。通过图形界面操作、直接编辑svn:ignore属性和全局忽略配置三种路径,提升版本控制效率,特别适合Java、前端和Python项目。 阅读详情

相关推荐

Node.js模块系统深度解析:CommonJS与ESM运行机制与互操作

模块系统是JavaScript工程化的基石概念,其核心在于运行时如何解析、加载与执行代码单元。Node.js并非简单支持两种语法,而是构建了以CommonJS为底层协议、ES Module为上层兼容层的分层架构,涉及文件扩展名识别、package.json type字段判定及--input-type命令行覆盖三重解析逻辑。这种设计决定了require()的同步确定性与import()的静态异步特性,也导致了混合项目中ERR_REQUIRE_ESM、MODULE_NOT_FOUND等高频报错。理解模块缓存(r

weixin_34401479的博客 378

windows无限递归删除指定盘里的 node_modules

项目太多,前端node_modules占用空间太多,需要一键删除

suke的博客 314

Codex安装指南:Node.js环境配置与跨平台避坑实战

Codex CLI 是一个基于 Node.js 运行的本地 AI 编程代理工具,其本质并非普通软件,而是依赖完整 JavaScript 运行时与包管理生态的命令行系统。理解 Node.js 作为执行引擎、npm 作为包分发与路径注册枢纽的协同原理,是解决‘命令不存在’‘权限报错’‘版本冲突’等高频问题的前提。该工具强调本地代码分析与隐私可控,适用于前端开发、Python 脚本辅助及工程化提效等场景。本文聚焦 Windows/macOS/Linux 三端可复现的安装路径,覆盖 PowerShell 策略绕过、

weixin_30325487的博客 468

递归删除 node_modules

node_modules 往往会在您的本地系统中占用大量空间,特别是如果您使用 Node.js 或相关框架(例如:React 或 Vue)。它们是现代 JavaScript 应用程序和工作流程的重要组成部分。 有一个简单的命令,您可以在终端中的文件夹或根目录中运行。 $ find . -name "node_modules" -exec rm -rf '{}' + 注意:该命令在 window ...

lio-zero 的博客 379

Claude Code本地CLI工具链实战指南:Node.js、Git与cc-switch深度配置

Claude Code并非Anthropic官方产品,而是一套面向本地大模型(如Ollama、LM Studio、DeepSeek-Coder)的开源CLI工作流,其核心依赖Node.js运行时、Git项目上下文识别及cc-switch协议代理服务。理解其‘非云端API调用、纯本地转发’的本质,是规避安装失败、代理异常与上下文缺失等高频问题的前提。该工具链强调工程化实践:Node.js版本需严格匹配ABI兼容性(v20.18.2为当前黄金版本),Git不仅是版本控制工具,更是codex-cli推断项目语言栈

abc20899的专栏 321

npm scripts 深度解析:从执行原理到健壮CI/CD实践

npm scripts 是 Node.js 项目中默认集成的任务编排机制,其本质并非简单命令别名,而是基于 package.json 的轻量级、跨平台、环境感知的本地执行单元系统。它通过环境变量注入(如 npm_lifecycle_event、NODE_ENV)、node_modules/.bin 路径优先查找、pre/post 钩子链、-- 参数透传等核心机制,实现可复现、可组合、可调试的工程化任务流。在现代前端与全栈开发中,npm scripts 已成为连接开发、测试、构建与 CI/CD 的关键枢纽,支

weixin_30617797的博客 292

快速删除 `node_modules`

快速删除 `node_modules`

前端金牌摸鱼达人 2124

Claude Code安装本质:Windows本地AI开发环境搭建指南

Claude Code并非传统桌面软件,而是一个依赖Node.js运行时、PowerShell执行环境与动态配置注入的命令行AI代理运行时(CLI Agent Runtime)。其安装过程实质是构建一套本地AI开发工作流的基础设施,核心涉及Node.js LTS版本兼容性、PowerShell ExecutionPolicy策略配置、npm全局路径与环境变量管理,以及CCSwitch作为运行时API路由控制器的精准注入机制。该流程对V8引擎、WASM模块、TLS网络栈和NTFS权限均有刚性要求,广泛适用于O

weixin_34242509的博客 408

查找所有node_modules批量清理方法

平时写代码,工作目录中的node_modules会占用很大的空间有时需要清理。而直接使用Windows的删除会很慢,以下是基于PowerShell的几种删除方法。

Airarret_Z的博客 881

Git clean 命令详解:安全清理未跟踪文件与仓库整洁实践

Git clean 是 Git 工作区治理的核心命令,用于识别并移除未跟踪文件(untracked files),其本质是基于索引状态与 .gitignore 规则的双重判定机制。理解 untracked 的准确含义——既不在暂存区、又未被忽略——是避免误删的前提;而 -n(预览)、-f(强制)、-d(目录)、-x(忽略项)四大参数构成风险可控的决策树。该命令的技术价值在于提升开发环境一致性、降低 CI 构建差异、支撑可复现的本地调试,广泛应用于每日清理、分支切换、CI 沙箱初始化等工程场景。本文聚焦 Gi

weixin_30905133的博客 710

递归删除文件夹

删除E:\\digui-delete这个文件夹以及该文件夹下的文件或子文件夹

nodejs 清空目录或清空目录下文件夹

自定义一个清空指定目录文件的工具函数

weixin_57098738的博客 3657

第12篇: COZE 实操【自动生成每日英语短视频】详细制作流程

通过以上详细流程,你可以利用 Coze 智能体高效生成每日英语短视频。在实际操作中,若遇到问题或有新的创意需求,欢迎随时与我交流,进一步优化视频制作流程。从左侧节点库中拖拽 “开始” 节点到画布中央,设置主题输入框(如输入 “日常购物英语”),方便后续根据不同主题生成视频。2. 选题策划节点​。3. 内容生成节点​。4. 画面生成节点​。5. 配音生成节点​。6. 音频匹配节点​。7. 视频合成节点​。

AI实操部署-深耕AI领域老菜鸟! 2071

深入解析node_modules:依赖管理机制、典型问题排查与高效管理策略

在前端与Node.js开发中,依赖管理是工程化的核心基础。其核心原理在于包管理器通过解析package.json,构建依赖树并解决版本冲突,最终在node_modules目录中创建物理结构。这一机制的技术价值在于确保了项目所依赖的第三方代码库能够被正确加载和使用,支撑了从React、Vue等框架到各类工具库的庞大生态。然而,依赖的嵌套与扁平化策略也带来了模块查找路径复杂、可能引发构建错误等挑战。本文聚焦node_modules这一具体实现,深入探讨其内部工作机制,并针对常见的“Module build fa

weixin_33835103的博客 388

conda环境的复制、备份操作

请确保将 source_env 替换为你要复制的现有环境的名称,并将 target_env 替换为你要创建的新环境的名称。要备份一个Conda虚拟环境,你需要将环境的配置信息和依赖包列表保存起来,以便在需要的时候能够重新创建相同的环境。要将现有的 conda 环境复制为其他环境,可以使用 conda create 命令并克隆已存在的环境。

Dollhan的博客 3771

汽车OTA安全启动:ECU双验签机制与实战排障指南

汽车OTA升级中的安全启动,本质是基于密码学的信任建立过程,其核心在于ECU上电时对固件镜像的可信验证。该机制依托硬件信任根(Secure Boot ROM),通过RSA/ECDSA等非对称算法完成签名验签,确保升级包未被篡改且来源可信。技术价值体现在防止恶意固件注入、支撑功能安全(ASIL)与信息安全(ISO/SAE 21434)合规。典型应用场景包括4S店远程升级、BMS控制器固件更新及多ECU协同启动。实践中,验签名失败往往源于证书链断裂、Flash布局错位或KeyUsage字段不匹配等底层工程细节,

weixin_29314405的博客 76

包管理工具(npm、pnpm、yarn、cnpm)、版本管理工具(nvm、fnm)

包管理工具(npm、pnpm、yarn、cnpm)、版本管理工具(nvm、fnm)

freeking101的博客 4万+

搞定ESD(九):静电放电之PCB设计

不同信号参考地平面应尽量保持完整,减小静电电流流过参考地平面时造成的电位差,防止电位差导致的信号传输电平错误.主芯片GPIO信号布线应保持最短化,减小与参考地平面之间的电场耦合,同时也防止因信号环路面积较大耦合静电放电噪声干扰。外部端子接地引脚顶层采用分地设计,最好是直接过孔到完整参考地平面接地,避免与顶层信号包地、其它包地相连,防止顶层串扰耦合到其它信号,造成ESD问题。

记得诚 1950

Node.js开发提效核心:nodemon原理、配置与工程化实践

nodemon是Node.js开发中实现热重载的关键工具,其本质是在原生node运行时之上构建的轻量级文件监听与进程生命周期协调层。它基于chokidar监听文件变更,通过信号机制(如SIGUSR2)优雅终止旧进程并启动新实例,从而将代码保存到服务就绪压缩至毫秒级响应。该技术显著提升开发反馈效率,支撑TypeScript转译、多进程协同、调试端口自动注入等现代前端/全栈工作流。典型应用场景包括Express/Fastify服务快速迭代、Vue+Node全栈联调、微服务本地预热等。本文深入解析nodemon安

weixin_30237719的博客 258

【运动规划算法项目实战】如何使用Pure Pursuit算法进行路径跟踪(附ROS C++代码)

在自动驾驶和机器人导航领域,路径跟踪是一项关键技术,它使车辆或机器人能够按照预定的路径规划进行移动。路径跟踪算法的选择对于系统性能和安全性至关重要。本文将介绍一种常用且有效的路径跟踪算法——Pure Pursuit算法。我们将详细讨论Pure Pursuit算法的原理、实现步骤以及如何在自动驾驶和机器人系统中应用该算法进行路径跟踪。Pure Pursuit是一种用于路径跟踪的控制算法。它通过计算角速度控制机器人从当前位置移到机器人前方的某个预瞄点。假定线速度是恒定的,当然可以随意更改机器人的线速度。

xiewf的博客 1万+

微信小程序 - 实现仿小红书轮播图组件功能,类似小红书笔记页面图片展示播放效果,微信小程序仿小红书幻灯片轮播支持视频播放、图片预览,自动适应图片或视频大小可左右滑动切换(小程序精美轮播图,丝滑切换)

微信小程序,轮播图组件,微信小程序仿小红书轮播图,小红书轮播图仿造,微信小程序轮播图,微信小程序幻灯片,微信小程序高仿小红书轮播图实现,小程序实现类似小红书一样的轮播图组件,轮播图插件,精致轮播图,精美丝滑流畅切换的轮播图,轮播图组件,小红薯轮播图,关于小红书的小程序不同数量的轮播图,展示不一样的轮播指示点的实现,微信小程序仿小红书图片轮播,开发微信小程序模仿小红书,高仿小红书Banner的指示器,小红书小程序笔记详情轮播图指示点的随图片数量的变化动态变化,微信小程序swiper轮播图,js轮播图,html

✅ 精选推荐文章 6928

构建智能开发环境清理工具:从原理到实践的自动化解决方案

在软件开发过程中,项目依赖管理和构建缓存是提升开发效率的重要环节。Node.js的node_modules、Java的target目录等依赖缓存,虽然加速了构建过程,却会持续占用大量磁盘空间,形成“开发垃圾”。理解文件系统操作原理和模式匹配技术,能够帮助我们构建自动化工具来安全识别和清理这些冗余文件。这类工具的技术价值在于通过预定义规则和安全检查,实现一键式清理,显著提升开发环境的整洁度和磁盘利用率。其应用场景广泛覆盖前端、后端、移动端等各类技术栈项目的日常维护。本文以Clean代理技能为例,深入探讨如何基

weixin_30291791的博客 308

098、C3k2_Ghost:用 GhostConv 替代 C3k2 内标准卷积的轻量化改造代码

本文介绍了用GhostConv轻量化改造YOLOv11中C3k2模块的实践。作者通过线上部署案例引出问题,详细解析了GhostConv的核心实现逻辑,指出直接替换标准卷积会导致的两个关键问题:通道数不匹配和kernel_size冲突。文章提供了完整的C3k2_Ghost实现代码,包含注意事项和调试技巧。消融实验显示,该方法在小模型上可减少27%-28%参数量、34%-35%FLOPs,仅损失0.8mAP。作者总结了适用场景:小模型效果显著,大模型需谨慎;检测小目标任务不推荐;训练时需调整学习率。最后强调sh

sundong_81的博客 62

Ubuntu 14.04 搭建 Hexo 博客:Node.js 10.24.1 全链路实践指南

静态博客生成器是现代内容发布的轻量范式,其核心在于将 Markdown 写作、Git 版本控制与 Nginx 静态服务无缝协同。理解这一工作流的底层原理,有助于规避因运行时兼容性、配置耦合或权限模型引发的典型故障。尤其在老旧但稳定的系统如 Ubuntu 14.04 上,Node.js 安装与 Git 配置教程的精确性直接决定 Hexo 是否可用——它不隐藏复杂度,而是要求开发者掌握从 v8 引擎 ABI 兼容性到 Nginx try_files 路由规则的全栈逻辑。本文聚焦真实生产约束,覆盖 node.js

weixin_30781107的博客 432

C# Blazor Server工业监控Web UI:实时数据推送、历史曲线、报警记录,跨浏览器访问(踩坑总结+生产可用)

坑点现象解决方案StateHasChanged()太频繁服务器CPU占用高,浏览器卡顿别100ms刷新一次,1秒刷新一次足够并发高时服务器卡多个用户同时访问,服务器响应慢用Redis做分布式缓存,或者加服务器做负载均衡断线重连后数据丢失浏览器刷新后,实时数据不更新用InfluxDB存历史数据,刷新后重新查询工业现场网络不稳定Blazor Server频繁断线用SQLite本地缓存,断网时数据不丢,联网后补发历史曲线查询慢查询过去7天的数据,要等很久。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 303

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Kimi Code CLI 实战指南:七类高频使用场景与可直接复用的 Prompt 模板

> **导读**:本文以 Kimi Code CLI 的常见使用案例文档为骨架,系统整理「理解陌生项目、实现新功能、修复 bug、写测试与重构、一次性脚本、定时任务、文档维护」七类典型场景,并逐条给出可复制的 prompt 模板。除了操作步骤,文中还结合本仓库源码(CLI 参数校验、权限模式、斜杠命令注册表、定时任务工具)说明底层行为,帮助你不仅会「照抄」模板,更能理解每个场景背后 Agent 的

gitblog_00061的博客 899

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: yarn unlink 简单使用
下一篇: 如何全局引入js生成的scss代码
radation
博客等级 码龄8年 24粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值