2.1.13 • Published 1 year agoCLI
minify-web
Licence
ISC
Version
2.1.13
Deps
8
Size
19 kB
Vulns
0
Weekly
0
minify-web
通用前端文件压缩混淆工具,可以将指定文件/文件夹压缩混淆到指定文件/文件夹。
特性
- 支持压缩HTML、CSS、JavaScript文件
- 支持混淆JavaScript代码,提高安全性
- 支持排除指定文件/文件夹
- 支持通过命令行参数和配置文件进行配置
- 配置优先级:命令行参数 > 配置文件 > 默认设置
安装
# 全局安装
npm install -g minify-web
# 或本地安装
npm install minify-web --save-dev命令行使用
# 最简单的用法,压缩当前目录到dist目录
minify-web
# 指定源目录和输出目录
minify-web -d src -o dist
# 排除文件
minify-web -d src -o dist -e "**/*.min.js,lib/jquery.js"
# 排除文件并保留到输出目录
minify-web -d src -o dist -e "**/*.min.js" -k
# 使用配置文件
minify-web -c minify.config.js命令行选项
| 选项 | 简写 | 描述 | 默认值 |
|---|---|---|---|
--dir |
-d |
要压缩的源目录 | ./ |
--output |
-o |
输出目录 | ./dist |
--exclude |
-e |
排除的文件/文件夹,支持glob模式,多个模式使用逗号分隔 | 无 |
--keep-excluded |
-k |
是否保留被排除的文件到输出目录 | false |
--config |
-c |
配置文件路径 | 自动查找 |
配置文件
支持三种格式的配置文件:JS、JSON、YAML。以下是配置文件示例:
JS (minify.config.js)
module.exports = {
// 要压缩的源目录
dir: './src',
// 输出目录
output: './dist',
// 排除的文件/文件夹,支持glob模式
exclude: [
'**/*.min.js',
'lib/jquery.js',
'node_modules/'
],
// 是否保留被排除的文件到输出目录
keepExcluded: true
};JSON (minify.config.json)
{
"dir": "./src",
"output": "./dist",
"exclude": [
"**/*.min.js",
"lib/jquery.js",
"node_modules/"
],
"keepExcluded": true
}YAML (minify.config.yml)
# 要压缩的源目录
dir: ./src
# 输出目录
output: ./dist
# 排除的文件/文件夹,支持glob模式
exclude:
- "**/*.min.js"
- "lib/jquery.js"
- "node_modules/"
# 是否保留被排除的文件到输出目录
keepExcluded: true排除模式
排除模式支持glob模式,例如:
**/*.min.js- 排除所有已经压缩的JS文件lib/jquery.js- 排除具体文件node_modules/- 排除整个目录assets/vendor/**/*- 排除vendor目录下的所有文件
编程API
const { minifyProject } = require('minify-web');
// 压缩项目
minifyProject('./src', './dist', {
exclude: ['**/*.min.js', 'lib/jquery.js'],
keepExcluded: true
})
.then(() => console.log('压缩完成!'))
.catch(err => console.error('压缩失败:', err));许可证
MIT