ninoRepublic/mini-scss-js

GitHub: ninoRepublic/mini-scss-js

一个VS Code扩展,自动化SCSS编译和JS压缩混淆,支持源映射和日志移除以提升前端开发效率。

Stars: 0 | Forks: 0

# 迷你 SCSS JS [![版本](https://img.shields.io/badge/version-1.0.0-blue)](https://github.com/ninoRepublic/mini-scss-js) [![VS Code 引擎](https://img.shields.io/badge/vscode-%5E1.80.0-007ACC)](https://code.visualstudio.com) [![许可证](https://img.shields.io/badge/license-MIT-green)](https://github.com/ninoRepublic/mini-scss-js/blob/main/LICENSE) **[中文文档](README.zh-CN.md)** 保存时自动将 SCSS 编译为 CSS,并压缩/混淆 JavaScript,支持源映射。 ## 功能 - **SCSS 转 CSS** — 保存时将 `.scss` 编译为 `.min.css`,并生成源映射 - **JS 压缩** — 压缩 JavaScript,移除 `console.log` / `cm.log`,输出 `.min.js` 和源映射 - **JS 混淆** — 右键菜单可对 JS 文件进行加密,支持控制流平坦化和字符串数组转换 - **源映射** — 为 CSS 和 JS 调试生成 `.map` 文件 - **零配置** — 安装后即可使用;所有功能均可通过设置开关 ## 工作原理 当你保存 `.scss` 或 `.js` 文件时,扩展会自动处理它们: ``` styles/ ├── main.scss ← save this ├── main.min.css ← generated └── main.min.css.map ← generated scripts/ ├── app.js ← save this ├── app.min.js ← generated (minified) └── app.min.js.map ← generated ``` 为避免重复处理,以 `.min.js` 结尾的文件会被跳过。`node_modules` 中的文件始终被排除。 ### 右键菜单:JS 混淆 在资源管理器中右键单击 `.js` 文件,选择 **🍑JS加密** 来压缩和混淆它: 1. Terser 压缩代码并移除调试语句 2. javascript-obfuscator 应用控制流平坦化和字符串数组转换 3. 输出保存为同目录下的 `.min.js` ## 扩展设置 | 设置项 | 默认值 | 描述 | |---------|---------|-------------| | `mini-scss-js.enabled` | `true` | 全局启用/禁用扩展 | | `mini-scss-js.scss.enabled` | `true` | 启用/禁用 SCSS 编译 | | `mini-scss-js.js.enabled` | `true` | 启用/禁用 JS 处理 | | `mini-scss-js.logFunctions` | `["console.log", "cm.log"]` | JS 压缩时要移除的函数调用 | ### 配置示例 添加自定义日志函数以便移除: ``` "mini-scss-js.logFunctions": ["console.log", "console.warn", "cm.log", "debug.log"] ``` ## 要求 - VS Code 1.80+ - 无需外部依赖 — `sass`、`terser`、`javascript-obfuscator` 已随扩展捆绑。 ## 依赖项 | 包 | 用途 | |---------|---------| | [sass](https://github.com/sass/dart-sass) | SCSS 转 CSS 编译 | | [terser](https://github.com/terser/terser) | JavaScript 压缩及调试语句移除 | | [javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator) | JavaScript 混淆 | ## 发布说明 ### 1.0.0 - SCSS 编译并生成源映射 - JS 压缩(通过 terser),移除 `console.log` / `cm.log` - JS 混淆(通过 javascript-obfuscator) - 右键菜单 🍑JS加密 命令 - 可通过 VS Code 设置进行配置 - 排除 `node_modules` ## 已知问题 - 混淆过程是 CPU 密集型操作;非常大的 JS 文件在保存时可能会导致短暂卡顿。 - 混淆器在 terser 完成后同步运行。此行为可能在未来的版本中改为异步。 ## 许可证 [MIT](https://github.com/ninoRepublic/mini-scss-js/blob/main/LICENSE)
标签:CSS压缩, JavaScript压缩, SCSS编译, SOC Prime, Subfinder, VS Code扩展, Web优化, 代码优化, 代码加密, 代码混淆, 保存时处理, 前端构建, 前端自动化, 开发工具, 数据可视化, 日志移除, 源映射, 自定义脚本, 零配置