@uni_toolkit/unplugin-compress-json
v0.0.16
Published
A plugin to compress json files
Downloads
673
Maintainers
Readme
@uni_toolkit/unplugin-compress-json
一个用于压缩 JSON 文件的 unplugin 插件,支持 Vite 和 Webpack。
功能特性
- 🗜️ 自动压缩 - 自动移除 JSON 文件中的空白字符和换行符
- 🔧 多构建工具支持 - 支持 Vite、Webpack 等构建工具
- ⚡ 零配置 - 开箱即用,默认仅在生产环境启用
- 🎯 精确匹配 - 只处理
.json文件,不影响其他资源 - 🌍 环境控制 - 支持配置在开发环境、生产环境或所有环境下启用
安装
# npm
npm install @uni_toolkit/unplugin-compress-json -D
# yarn
yarn add @uni_toolkit/unplugin-compress-json -D
# pnpm
pnpm add @uni_toolkit/unplugin-compress-json -D使用方法
Vite
// vite.config.js
import { defineConfig } from 'vite'
import CompressJson from '@uni_toolkit/unplugin-compress-json/vite'
export default defineConfig({
plugins: [
CompressJson(), // 默认仅在生产环境启用
// 或者自定义配置
// CompressJson({ mode: 'all' }), // 在所有环境下都启用
// CompressJson({ mode: 'development' }), // 仅在开发环境启用
],
})Vue CLI
// vue.config.js
const CompressJson = require('@uni_toolkit/unplugin-compress-json/webpack')
module.exports = {
configureWebpack: {
plugins: [
CompressJson(), // 默认仅在生产环境启用
// 或者自定义配置
// CompressJson({ mode: 'all' }), // 在所有环境下都启用
],
},
}配置选项
| 选项 | 类型 | 默认值 | 描述 |
|------|------|--------|------|
| mode | 'development' \| 'production' \| 'all' | 'production' | 控制插件在哪些环境下启用 |
mode 选项说明
'development': 仅在开发环境启用(NODE_ENV === 'development')'production': 仅在生产环境启用(NODE_ENV === 'production')'all': 在所有环境下都启用
工作原理
插件会在构建过程中自动检测所有 .json 文件,并移除其中的:
- 空格
- 制表符
- 换行符
- 其他空白字符
压缩前:
{
"name": "example",
"version": "1.0.0",
"description": "这是一个示例"
}压缩后:
{"name":"example","version":"1.0.0","description":"这是一个示例"}注意事项
- 插件只处理构建输出中的
.json文件 - 不会修改源代码文件
- 默认仅在生产环境启用,避免开发时的不必要处理
- 可以通过
mode选项灵活控制启用环境
