{"_id":"@ad-feiben/vite-plugin-modular","_rev":"5-ad3292267d63e46786be0be67c74d73c","name":"@ad-feiben/vite-plugin-modular","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"name":"@ad-feiben/vite-plugin-modular","version":"0.0.1","author":{"name":"AD-feiben"},"_id":"@ad-feiben/vite-plugin-modular@0.0.1","maintainers":[{"name":"ad-feiben","email":"956104554@qq.com"}],"homepage":"https://github.com/AD-feiben/vite-plugin-modular","bin":{"vm":"dist/cli.cjs","vmod":"dist/cli.cjs"},"dist":{"shasum":"b5af5f353a93c98173cff958c2667be1b92635a1","tarball":"https://registry.npmjs.org/@ad-feiben/vite-plugin-modular/-/vite-plugin-modular-0.0.1.tgz","fileCount":9,"integrity":"sha512-v4ka/Ua6titQd3kB0iV7YTOcmTXf4BHx16GDvBXveXMR7wxw8t7E7UxrgVzJdJtijfeGMO5RK064joCv8BuGFA==","signatures":[{"sig":"MEUCIHem4tD8Pp75jaxBR7lQ85I9uVdFzTizt5IwEHeH4mXtAiEA7M9gApTkO9s6v9EG0UjJjQCoh5635NoMVcpRTftatgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73085},"main":"./dist/plugin.cjs","type":"module","types":"./dist/plugin.d.ts","module":"./dist/plugin.js","exports":{".":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.cjs"},"./cli":{"import":"./dist/cli.js","require":"./dist/cli.cjs"},"./config":{"types":"./vmod.config.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"}},"gitHead":"293b8b8de077014dc1afdadc9ea5401eaddf00d8","scripts":{"dev":"vite","test":"vitest","build":"tsc && vite build && chmod +x dist/cli.cjs","preview":"vite preview"},"_npmUser":{"name":"ad-feiben","email":"956104554@qq.com"},"_npmVersion":"10.8.2","description":"[![npm version](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular.svg)](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)","directories":{},"json-schema":{"vmod.config.json":"./schemas/vmod.config.schema.json"},"_nodeVersion":"20.19.0","dependencies":{"chalk":"^5.6.2","table":"^6.9.0","inquirer":"^12.0.0","commander":"^14.0.2"},"typesVersions":{"*":{"config":["./vmod.config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","vitest":"^4.0.18","typescript":"~5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-modular_0.0.1_1769929157142_0.6765434224154028","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@ad-feiben/vite-plugin-modular","version":"0.0.2","author":{"name":"AD-feiben"},"_id":"@ad-feiben/vite-plugin-modular@0.0.2","maintainers":[{"name":"ad-feiben","email":"956104554@qq.com"}],"homepage":"https://github.com/AD-feiben/vite-plugin-modular","bin":{"vm":"dist/cli.cjs","vmod":"dist/cli.cjs"},"dist":{"shasum":"d02533ce8fe7dec3dc7ee56710703d6c4a77aecc","tarball":"https://registry.npmjs.org/@ad-feiben/vite-plugin-modular/-/vite-plugin-modular-0.0.2.tgz","fileCount":23,"integrity":"sha512-FOExEF8j840f/spGDduGJODzM5sLTiRFerYD1GpsQ9DzxjqDeQWRUJoAfKltSo8aMsCw9jYW9vRe+yecMyj7+Q==","signatures":[{"sig":"MEUCIHT8IOtmvWwQTOEh7rSaoJ3IxuXfDTzqFvp9WBsZ8rCFAiEAo9mgnCNJk1+wKn/w5hHuWIQBqron6gYtxQszcK12oAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78727},"main":"./dist/plugin.cjs","type":"module","types":"./dist/plugin.d.ts","module":"./dist/plugin.js","exports":{".":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.cjs"},"./cli":{"import":"./dist/cli.js","require":"./dist/cli.cjs"},"./config":{"types":"./vmod.config.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"}},"gitHead":"6b58121364222cae0a44feb77e6317d46ab85c44","scripts":{"dev":"vite","test":"vitest","build":"rm -rf dist && vite build && tsc && chmod +x dist/cli.cjs","preview":"vite preview","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"ad-feiben","email":"956104554@qq.com"},"_npmVersion":"10.8.2","description":"[![npm version](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular.svg)](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)","directories":{},"json-schema":{"vmod.config.json":"./schemas/vmod.config.schema.json"},"_nodeVersion":"20.19.0","dependencies":{"chalk":"^5.6.2","table":"^6.9.0","inquirer":"^12.0.0","commander":"^14.0.2"},"typesVersions":{"*":{"config":["./vmod.config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","vitest":"^4.0.18","typescript":"~5.9.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-modular_0.0.2_1769956772131_0.40244142696386764","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@ad-feiben/vite-plugin-modular","version":"0.0.3","author":{"name":"AD-feiben"},"_id":"@ad-feiben/vite-plugin-modular@0.0.3","maintainers":[{"name":"ad-feiben","email":"956104554@qq.com"}],"homepage":"https://github.com/AD-feiben/vite-plugin-modular","bin":{"vm":"dist/cli.cjs","vmod":"dist/cli.cjs"},"dist":{"shasum":"41d5eb8c2dc0a1a539c37a57bec157493b1f2318","tarball":"https://registry.npmjs.org/@ad-feiben/vite-plugin-modular/-/vite-plugin-modular-0.0.3.tgz","fileCount":23,"integrity":"sha512-PC1YgJ1MvXcQml4pq50ytvBG9HhgOeZXUE+FDIUw4OtcbCPVoyVC6IdBFd2LxKifo7R2neWgTIrDEmHZhMWpPw==","signatures":[{"sig":"MEYCIQDVjkbyi9fWAg0ZJPHpxz4UVbAGjFRaxd/2QmogI9sqgwIhAOdfBgCyIOMWhqFcOwZYMgg34VivDFvv4oKpaESIt8RQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80265},"main":"./dist/plugin.cjs","type":"module","types":"./dist/plugin.d.ts","module":"./dist/plugin.js","exports":{".":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.cjs"},"./cli":{"import":"./dist/cli.js","require":"./dist/cli.cjs"},"./config":{"types":"./vmod.config.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"}},"gitHead":"0aac0f953fdb965319e7a0037c32f683fc667e30","release":{"plugins":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"branches":["release"]},"scripts":{"dev":"vite","test":"vitest","build":"rm -rf dist && vite build && tsc && chmod +x dist/cli.cjs","preview":"vite preview","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"ad-feiben","email":"956104554@qq.com"},"_npmVersion":"10.8.2","description":"[![npm version](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular.svg)](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)","directories":{},"json-schema":{"vmod.config.json":"./schemas/vmod.config.schema.json"},"_nodeVersion":"20.19.0","dependencies":{"chalk":"^5.6.2","table":"^6.9.0","inquirer":"^12.0.0","commander":"^14.0.2"},"typesVersions":{"*":{"config":["./vmod.config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","vitest":"^4.0.18","typescript":"~5.9.3","@types/node":"^22.0.0","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/changelog":"^6.0.3","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-modular_0.0.3_1770737024981_0.05394934686264108","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@ad-feiben/vite-plugin-modular","version":"0.0.4","author":{"name":"AD-feiben"},"_id":"@ad-feiben/vite-plugin-modular@0.0.4","maintainers":[{"name":"ad-feiben","email":"956104554@qq.com"}],"homepage":"https://github.com/AD-feiben/vite-plugin-modular","bin":{"vm":"dist/cli.cjs","vmod":"dist/cli.cjs"},"dist":{"shasum":"3bccee3cf601a17990b6cf0eb58083b474e4e3dd","tarball":"https://registry.npmjs.org/@ad-feiben/vite-plugin-modular/-/vite-plugin-modular-0.0.4.tgz","fileCount":23,"integrity":"sha512-mAlEt+WzFxvByGq9ogsQn79TTzLb6Vw4VH6DAP3qowmqgA7Hzwhm0qcSB2ZQbduFti8kJmawXEi15be9Ms6JJA==","signatures":[{"sig":"MEUCIQCtdnogpFODef9Fz0fdkcKojatM1El4nF/Tir2yikocgAIgZvWNx2BKwyVpuGVmHbuU2jIkJJuTO/F6lIWN8Jh78q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80443},"main":"./dist/plugin.cjs","type":"module","types":"./dist/plugin.d.ts","module":"./dist/plugin.js","exports":{".":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.cjs"},"./cli":{"import":"./dist/cli.js","require":"./dist/cli.cjs"},"./config":{"types":"./vmod.config.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"}},"gitHead":"0aac0f953fdb965319e7a0037c32f683fc667e30","release":{"plugins":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"branches":["release"]},"scripts":{"dev":"vite","test":"vitest","build":"rm -rf dist && vite build && tsc && chmod +x dist/cli.cjs","preview":"vite preview","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"ad-feiben","email":"956104554@qq.com"},"_npmVersion":"10.8.2","description":"[![npm version](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular.svg)](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)","directories":{},"json-schema":{"vmod.config.json":"./schemas/vmod.config.schema.json"},"_nodeVersion":"20.19.0","dependencies":{"chalk":"^5.6.2","table":"^6.9.0","inquirer":"^12.0.0","commander":"^14.0.2"},"typesVersions":{"*":{"config":["./vmod.config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","vitest":"^4.0.18","typescript":"~5.9.3","@types/node":"^22.0.0","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/changelog":"^6.0.3","conventional-changelog-conventionalcommits":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-modular_0.0.4_1770738999922_0.826068015465198","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@ad-feiben/vite-plugin-modular","author":{"name":"AD-feiben"},"homepage":"https://github.com/AD-feiben/vite-plugin-modular","version":"0.0.5","type":"module","main":"./dist/plugin.cjs","module":"./dist/plugin.js","types":"./dist/plugin.d.ts","bin":{"vmod":"dist/cli.cjs","vm":"dist/cli.cjs"},"exports":{".":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.cjs"},"./cli":{"import":"./dist/cli.js","require":"./dist/cli.cjs"},"./config":{"types":"./vmod.config.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"}},"typesVersions":{"*":{"config":["./vmod.config.d.ts"]}},"json-schema":{"vmod.config.json":"./schemas/vmod.config.schema.json"},"scripts":{"dev":"vite","build":"rm -rf dist && vite build && tsc && chmod +x dist/cli.cjs","build:types":"tsc --emitDeclarationOnly","preview":"vite preview","test":"vitest"},"dependencies":{"chalk":"^5.6.2","commander":"^14.0.2","inquirer":"^12.0.0","table":"^6.9.0"},"devDependencies":{"@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@types/node":"^22.0.0","conventional-changelog-conventionalcommits":"^9.1.0","semantic-release":"^24.2.9","typescript":"~5.9.3","vite":"^5.4.8","vitest":"^4.0.18"},"release":{"branches":["release"],"plugins":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"]},"_id":"@ad-feiben/vite-plugin-modular@0.0.5","gitHead":"fe9e60c3cd1aab12f23ea1be75e04598b3dc81e0","description":"[![npm version](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular.svg)](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-DYLbLZm1vQklufR2WHV3219tly7T2SOcKH0SHp+Kn3VYMG0coXFOoY5DzMcykA8+XlOg62xBCu2BVQrlEeJ8iA==","shasum":"da61c81a5f901aa8d87d61350005952f375618cf","tarball":"https://registry.npmjs.org/@ad-feiben/vite-plugin-modular/-/vite-plugin-modular-0.0.5.tgz","fileCount":24,"unpackedSize":161770,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDnUsHkPP55BjoKUlPamxjs3FZ/5HWlIav1O7r1YiEbPQIgGaWgA49Q+dpfpZsol1HhqMCHi16JM12H3uBGz92c09U="}]},"_npmUser":{"name":"ad-feiben","email":"956104554@qq.com"},"directories":{},"maintainers":[{"name":"ad-feiben","email":"956104554@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin-modular_0.0.5_1775290107784_0.5845079531509174"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-01T06:59:17.034Z","modified":"2026-04-04T08:08:28.077Z","0.0.1":"2026-02-01T06:59:17.298Z","0.0.2":"2026-02-01T14:39:32.285Z","0.0.3":"2026-02-10T15:23:45.132Z","0.0.4":"2026-02-10T15:56:40.078Z","0.0.5":"2026-04-04T08:08:27.944Z"},"author":{"name":"AD-feiben"},"homepage":"https://github.com/AD-feiben/vite-plugin-modular","description":"[![npm version](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular.svg)](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)","maintainers":[{"name":"ad-feiben","email":"956104554@qq.com"}],"readme":"# Vite Plugin Modular\n\n[![npm version](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular.svg)](https://badge.fury.io/js/%40ad-feiben%2Fvite-plugin-modular)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n## 📦 项目简介\n\nVite Plugin Modular 是一个强大的 Vite 插件，用于管理多模块、多环境的前端项目。它提供了以下核心功能：\n\n- 🚀 **多模块管理**：支持在单个项目中管理多个独立模块\n- 🌍 **多环境配置**：为每个模块提供不同的环境配置\n- 📁 **自动目录结构**：生成标准化的模块目录结构\n- 🛠 **命令行工具**：提供便捷的 CLI 命令管理模块\n- 🔧 **环境变量处理**：自动处理和注入环境变量\n- 📝 **模块化配置**：支持模块化的配置文件管理\n\n## 🚀 快速开始\n\n### 安装\n\n```bash\n# 使用 npm\nnpm install @ad-feiben/vite-plugin-modular --save-dev\n\n# 使用 yarn\nyarn add @ad-feiben/vite-plugin-modular -D\n\n# 使用 pnpm\npnpm add @ad-feiben/vite-plugin-modular -D\n```\n\n### 配置\n\n1. **初始化配置**\n\n```bash\n# 使用 CLI 命令初始化\nnpx vmod init\n\n# 或使用简写\nnpx vm init\n```\n\n2. **在 vite.config.ts 中注册插件**\n\n```typescript\nimport { defineConfig } from 'vite'\nimport VitePluginModular from '@ad-feiben/vite-plugin-modular'\n\nexport default defineConfig({\n  plugins: [\n    VitePluginModular()\n  ]\n})\n```\n\n## 📖 使用指南\n\n### 核心概念\n\n1. **模块**：项目中的独立功能单元，每个模块有自己的源码目录、入口文件和配置\n2. **环境**：每个模块可以有多个环境配置，如 development、production、test 等\n3. **配置文件**：`.modular.config.jsonc` 用于存储模块配置信息\n\n### 命令行工具\n\n#### CLI 执行效果\n\n![CLI 执行效果](./assets/cli-effect.png)\n\n#### 核心命令\n\n| 命令        | 别名 | 描述                |\n| ----------- | ---- | ------------------- |\n| `add`       | `a`  | 添加新模块          |\n| `delete`    | `d`  | 删除模块            |\n| `addEnv`    | `ae` | 为模块添加环境      |\n| `deleteEnv` | `de` | 从模块删除环境      |\n| `list`      | `ls` | 列出所有模块        |\n| `config`    | `c`  | 修改模块配置        |\n| `init`      | `i`  | 初始化 CLI 配置文件 |\n\n> 运行 `vmod --help` 查看完整的命令列表和详细说明\n\n### 模块开发\n\n1. **模块目录结构**\n\n创建模块后，会自动生成以下目录结构：\n\n```\nsrc/modules/\n├── module1/          # 模块目录\n│   ├── main.ts       # 模块入口\n│   └── style.css     # 模块样式\n└── module2/\n    ├── main.ts\n    └── style.css\n```\n\n2. **代码共享建议**\n\n为了保持模块的独立性和可维护性，不建议直接引用其他模块的内容。如果多个模块需要共享代码，建议：\n\n- 将共享的函数、变量等提取到 `src` 目录下形成公共模块\n- 使用 `src/utils` 目录存放通用工具函数\n- 使用 `src/types` 目录定义共享类型\n- 使用 `define` 配置共享环境变量\n\n3. **环境配置**\n\n在 `env` 目录中创建环境配置文件：\n\n```\nenv/\n├── .env.development  # 开发环境\n├── .env.production   # 生产环境\n└── .env.test         # 测试环境\n```\n\n4. **运行和构建**\n\n```bash\n# 运行特定模块的开发服务器\nnpm run dev:module1-dev\n\n# 构建特定模块的生产版本\nnpm run build:module1-prod\n\n# 构建特定模块的测试版本\nnpm run build:module1-test\n```\n\n## 🔧 配置说明\n\n### 模块配置文件\n\n模块配置文件 `.modular.config.jsonc` 存储了所有模块的配置信息：\n\n```jsonc\n{\n  \"module1\": {\n    \"name\": \"module1\",\n    \"sourceDir\": \"module1\",\n    \"entry\": \"main.ts\",\n    \"title\": \"Module 1\",\n    \"outputDir\": \"module1\",\n    \"environments\": [\"dev\", \"prod\", \"test\"],\n    \"define\": {\n      \"API_URL\": \"https://api.example.com\",\n      \"APP_VERSION\": \"1.0.0\"\n    }\n  },\n  \"module2\": {\n    \"name\": \"module2\",\n    \"sourceDir\": \"module2\",\n    \"entry\": \"main.ts\",\n    \"title\": \"Module 2\",\n    \"outputDir\": \"module2\",\n    \"environments\": [\"dev\", \"prod\"],\n    \"define\": {\n      \"API_URL\": \"https://api.example.com\",\n      \"APP_VERSION\": \"1.0.0\"\n    }\n  }\n}\n```\n\n### 配置项说明\n\n| 配置项         | 类型                | 描述                           |\n| -------------- | ------------------- | ------------------------------ |\n| `name`         | string              | 模块名称                       |\n| `sourceDir`    | string              | 源码目录（相对于 src/modules） |\n| `entry`        | string              | 入口文件（相对于源码目录）     |\n| `title`        | string              | 页面标题                       |\n| `outputDir`    | string              | 输出目录（相对于 dist）        |\n| `environments` | string[]            | 环境列表                       |\n| `define`       | Record<string, any> | 共享环境变量                   |\n\n## 🎯 特性亮点\n\n### 1. 环境变量注入\n\n自动将 `define` 中的配置注入为环境变量：\n\n```typescript\n// 使用注入的环境变量\nconst apiUrl = import.meta.env.VITE_API_URL\nconst appVersion = import.meta.env.VITE_APP_VERSION\n```\n\n### 3. 智能命令生成\n\n创建模块时，自动生成对应的 npm 脚本命令：\n\n```json\n{\n  \"scripts\": {\n    \"dev:module1-dev\": \"vite --mode module1-dev\",\n    \"build:module1-dev\": \"vite build --mode module1-dev\",\n    \"dev:module1-prod\": \"vite --mode module1-prod\",\n    \"build:module1-prod\": \"vite build --mode module1-prod\",\n    \"dev:module1-test\": \"vite --mode module1-test\",\n    \"build:module1-test\": \"vite build --mode module1-test\"\n  }\n}\n```\n\n### 4. 优化的用户体验\n\n- **彩色日志**：终端输出彩色日志，提高可读性\n- **智能提示**：命令行交互时提供智能提示和选择\n- **进度反馈**：操作过程中提供清晰的进度反馈\n- **错误处理**：友好的错误提示和处理机制\n\n## 📁 项目结构\n\n```\nvite-plugin-modular/\n├── dist/             # 构建输出\n├── src/              # 源码\n│   ├── cli/          # 命令行工具\n│   │   └── commands/ # 命令实现\n│   ├── types/        # 类型定义\n│   ├── utils/        # 工具函数\n│   ├── config.ts     # 配置处理\n│   └── plugin.ts     # 插件核心\n├── schemas/          # JSON Schema\n├── public/           # 静态资源\n├── tests/            # 测试文件\n└── example/          # 示例项目\n```\n\n## 🚧 开发指南\n\n### 安装依赖\n\n```bash\nnpm install\n```\n\n### 开发模式\n\n```bash\nnpm run dev\n```\n\n### 构建项目\n\n```bash\nnpm run build\n```\n\n### 运行测试\n\n```bash\nnpm run test\n```\n\n## 🌟 示例项目\n\nVite Plugin Modular 包含一个完整的示例项目，位于 `example/` 目录中。您可以参考示例项目了解如何使用插件：\n\n```bash\n# 进入示例目录\ncd example\n\n# 安装依赖\nnpm install\n\n# 运行示例模块\nnpm run dev:module1-dev\n```\n\n## 🤝 贡献指南\n\n我们欢迎社区贡献！如果您有任何建议或改进，请：\n\n1. Fork 本仓库\n2. 创建特性分支\n3. 提交更改\n4. 开启 Pull Request\n\n## 📄 许可证\n\n本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。\n\n## 📞 支持\n\n如果您在使用过程中遇到问题，可以：\n\n1. 查看 [示例项目](example/) 了解使用方法\n2. 检查 [配置说明](#-配置说明) 确认配置正确\n3. 提交 [Issue](https://github.com/AD-feiben/vite-plugin-modular/issues) 报告问题\n\n## 📝 更新日志\n\n### v0.0.1\n- ✨ 初始化项目\n- 🚀 实现核心模块化功能\n- 🛠 开发命令行工具\n- 🎨 设计插件 logo\n- 📖 编写文档\n\n## 🌟 鸣谢\n\n- [Vite](https://vitejs.dev/) - 现代前端构建工具\n- [Commander.js](https://github.com/tj/commander.js) - 命令行工具\n- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - 交互式命令行\n- [Chalk](https://github.com/chalk/chalk) - 终端彩色输出\n- [TypeScript](https://www.typescriptlang.org/) - 类型安全的 JavaScript\n\n---\n\n**Vite Plugin Modular** - 让前端模块化开发更简单！🚀\n","readmeFilename":"README.md"}