Skip to content

VZService/strip-comments-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

strip-comments-tool - 前端注释清理工具

一个交互式命令行工具,用于批量移除前端项目中的注释,支持多种文件类型,并提供备份、试运行、彩色输出、配置记忆等实用功能。

中文 | English


功能特性

  • 交互式配置:启动后通过问答形式选择语言、目录、文件类型等,无需记忆命令行参数。
  • 多语言支持:内置中文和英文界面,自动检测系统语言,也可手动切换。
  • 精准注释移除:使用状态机逐字符扫描,准确识别并移除 JS/TS 中的 ///* */ 注释,同时保护字符串、模板字符串、正则表达式和 :// 协议。
  • 广泛的文件类型:支持 .js.ts.jsx.tsx.vue.css.scss.less.html.htm
  • 智能内联处理:自动清理 HTML 中 <script> 内的 JS 注释和 <style> 内的 CSS 注释;Vue 单文件组件分别处理 <template><script><style> 中的注释。
  • 备份机制:修改前自动为每个文件创建 .bak 备份,方便恢复。
  • 试运行模式:预览将要修改的文件及统计信息,不实际写入。
  • 排除模式:支持通配符(如 *.min.js)跳过特定文件。
  • 详细统计:显示每个文件移除的行数和节省的字节数,并汇总总计。
  • 日志记录:所有操作写入 strip_comments.log,包含时间戳和详细记录。
  • 配置保存:自动保存上次的交互选择到 ~/.strip_comments_config.json,下次运行自动加载为默认值。
  • 彩色输出:使用 ANSI 颜色区分状态(成功/错误/警告/提示),支持 Windows(自动启用虚拟终端)。

快速开始

环境要求

  • Python 3.6 或更高版本(无需安装额外依赖)

下载脚本

将本仓库中的 strip_comments.py 保存到本地。

运行

在终端中执行:

python strip_comments.py

按提示依次输入:

  1. 选择语言(1=英文,2=中文,直接回车自动识别)
  2. 项目目录(直接回车使用当前目录)
  3. 要处理的文件扩展名(直接回车处理全部默认类型)
  4. 额外跳过的目录(如 dist, build,无则回车)
  5. 排除的文件模式(如 *.min.js, *bundle*.js,无则回车)
  6. 是否创建备份(默认 y)
  7. 是否试运行(默认 n)
  8. 是否显示详细信息(默认 n)

等待处理完成,即可看到修改统计和节省效果。

命令行直接使用(高级)

如果需要非交互式调用,可以修改脚本内部变量,或在交互时快速回车使用默认值。


注意事项

  • 脚本会直接修改原文件,请确保备份或使用试运行模式预览。
  • 部分特殊语法(如嵌套正则或特殊字符串)可能存在极少数误判,建议先用试运行模式检查。
  • 处理前建议提交 Git 版本,方便对比变更。

许可证

本项目采用 MIT 许可证,详情见 许可证 文件。


贡献与反馈

欢迎提交 Issue 或 Pull Request,帮助改进工具。

About

交互式移除前端源码注释,支持 JS/TS/Vue/CSS/HTML,自带备份、排除模式、彩色输出和配置记忆。 // Interactive tool to strip comments from JS/TS/Vue/CSS/HTML files, with backup, exclude patterns, color output, and config persistence.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages