Plugins Overview
@meng-xi/vite-plugin ships with 17 plugins grouped by functional verb into 7 categories: compress / generate / inject / analyze / copy / guard / proxy.
Group Overview
| Group | Count | Description | Sub-path |
|---|---|---|---|
| compress | 2 | Compression | plugins/compress |
| generate | 5 | Generation | plugins/generate |
| inject | 4 | Injection | plugins/inject |
| analyze | 2 | Analysis | plugins/analyze |
| copy | 2 | Copy | plugins/copy |
| guard | 1 | Guard | plugins/guard |
| proxy | 1 | Proxy | plugins/proxy |
compress — Compression
Reduce build output size; supports text compression and image optimization.
| Plugin | Function | Phase |
|---|---|---|
| compressAssets | gzip/brotli compression for JS/CSS/HTML output | Production build |
| imageOptimizer | Image compression and format conversion (supports WebP/AVIF) | Production build |
typescript
import { compressAssets, imageOptimizer } from '@meng-xi/vite-plugin/plugins/compress'generate — Generation
Automated code generation to reduce boilerplate.
| Plugin | Function | Phase |
|---|---|---|
| autoImport | Auto import Vue/React APIs and generate .d.ts | Dev + Build |
| generateUni | Composite entry: one pipeline of "scan pages → pages.json → route config" (equivalent to combining generatePages + generateRouter) | Dev + Build |
| generatePages | Scan Vue files to auto-generate pages.json page config (sub-packages/tabBar) | Dev + Build |
| generateRouter | Auto-generate router config and type declarations from pages.json | Dev + Build |
| generateVersion | Generate version number (timestamp/semantic/hash) | Build |
typescript
import { autoImport, generateUni, generatePages, generateRouter, generateVersion } from '@meng-xi/vite-plugin/plugins/generate'inject — Injection
Inject content into HTML, runtime, or pages.
| Plugin | Function | Phase |
|---|---|---|
| htmlInject | Inject meta/script/style/variables into HTML | Build |
| loadingManager | Inject global Loading animation | Dev + Build |
| faviconManager | Auto-generate and inject multi-size favicons | Build |
| versionUpdateChecker | Detect new version at runtime and prompt refresh | Production |
typescript
import { htmlInject, loadingManager, faviconManager, versionUpdateChecker } from '@meng-xi/vite-plugin/plugins/inject'analyze — Analysis
Build process visualization and monitoring.
| Plugin | Function | Phase |
|---|---|---|
| bundleAnalyzer | Output size analysis report (HTML/JSON) | Build |
| buildProgress | Terminal build progress bar | Dev + Build |
typescript
import { bundleAnalyzer, buildProgress } from '@meng-xi/vite-plugin/plugins/analyze'copy — Copy
Build output file management.
| Plugin | Function | Phase |
|---|---|---|
| copyFile | Copy static assets to output directory | Build |
| assetManifest | Generate asset manifest file | Build |
typescript
import { copyFile, assetManifest } from '@meng-xi/vite-plugin/plugins/copy'guard — Guard
Pre-build validation to prevent problematic code from entering output.
| Plugin | Function | Phase |
|---|---|---|
| envGuard | Environment variable validation (type/range/required/custom) | Build |
typescript
import { envGuard } from '@meng-xi/vite-plugin/plugins/guard'proxy — Proxy
Dev server proxy management.
| Plugin | Function | Phase |
|---|---|---|
| proxyManager | Declarative proxy config with env switching and logging | Dev |
typescript
import { proxyManager } from '@meng-xi/vite-plugin/plugins/proxy'Common Options
All plugins extend BasePlugin and share these options:
typescript
interface BasePluginOptions {
enabled?: boolean // Enable, default true
verbose?: boolean // Verbose logs, default true
errorStrategy?: 'throw' | 'log' | 'ignore' // Error handling, default 'throw'
}For details, see Core Concepts.
Next Steps
- Quick Start — Get started in 5 minutes
- Core Concepts — Understand the plugin system
- Best Practices — Scenario-based recommendations
- On-demand Import — Optimize bundle size
