# package.json 说明

## 项目信息

| 字段 | 值 | 说明 |
|------|-----|------|
| `name` | `mini2.0` | 项目名称 |
| `version` | `0.0.0` | 当前版本（开发初期未正式定版） |
| `private` | `true` | 私有项目，禁止发布到 npm |
| `type` | `module` | 使用 ES Module 规范（`import/export`） |
| `engines.node` | `^20.19.0 \|\| >=22.12.0` | 要求 Node.js 20.19+ 或 22.12+ |

---

## 脚本命令（scripts）

### 开发

| 命令 | 作用 |
|------|------|
| `npm run dev` | 以 DEV 模式启动 Vite 开发服务器，加载 `.env.dev` 环境变量 |

### 构建

| 命令 | 作用 |
|------|------|
| `npm run build:earth2sit` | EARTH2SIT 环境构建，加载 `.env.earth2sit` |
| `npm run build:test` | TEST 环境构建，加载 `.env.test` |
| `npm run build:sit` | SIT 环境构建，加载 `.env.sit` |
| `npm run build:uat` | UAT 环境构建，加载 `.env.uat` |
| `npm run build:pvt` | PVT 环境构建，加载 `.env.pvt` |
| `npm run build:prod` | PROD 环境构建，加载 `.env.prod` |
| `npm run preview` | 启动 Vite 静态文件预览服务器，用于本地查看构建产物 |

> 六个构建命令都会先执行 TypeScript 类型检查，再按对应 Vite mode 构建。
> 构建生成的 ZIP 会按环境归档到 `dist/<环境>/`，例如 TEST 包位于 `dist/TEST/`。

### 代码质量

| 命令 | 作用 |
|------|------|
| `npm run lint` | 串行执行所有 `lint:*` 子命令 |
| `npm run lint:oxlint` | 使用 OxLint 对代码做快速 lint 检查并自动修复 |
| `npm run lint:eslint` | 使用 ESLint 做完整 lint 检查并自动修复，结果会缓存（`--cache`） |
| `npm run format` | 使用 Prettier 格式化 `src/` 目录下的代码 |

> `npm run lint` 会先执行 oxlint 再执行 eslint，两者分工：oxlint 速度快，适合捕获常见错误；eslint 规则更全面，特别是 Vue/TypeScript 相关规则。

---

## 生产依赖（dependencies）

这些包会被打包到最终产物中，直接影响用户侧。

| 包名 | 版本 | 作用 |
|------|------|------|
| `vue` | `^3.5.32` | Vue 3 核心框架，提供响应式系统、组件系统和模板编译 |
| `vue-router` | `^5.0.4` | Vue 官方路由，管理页面导航和 URL 映射 |
| `pinia` | `^3.0.4` | Vue 官方状态管理库，替代 Vuex，支持组合式 API |
| `vant` | `^4.9.24` | 有赞出品的移动端 Vue 3 组件库，提供丰富的 UI 组件（按钮、弹窗、表单等） |
| `axios` | `^1.16.1` | HTTP 客户端，用于发起 API 请求，支持拦截器、取消请求等 |
| `@iconify/vue` | `^5.0.1` | Iconify 图标库的 Vue 组件封装，可使用数千个图标集（如 Material Design、Tabler 等） |
| `@vueuse/core` | `^14.3.0` | Vue 组合式工具函数集，提供 `useStorage`、`useDebounceFn`、`useClipboard` 等常用 hooks |
| `dayjs` | `^1.11.21` | 轻量级日期时间处理库（仅 2KB），Moment.js 的替代品 |
| `crypto-js` | `^4.2.0` | 加密算法库，支持 AES、MD5、SHA 等，用于前端数据加密/签名 |
| `clipboard` | `^2.0.11` | 剪贴板操作库，实现一键复制文本到系统剪贴板 |
| `nprogress` | `^0.2.0` | 页面顶部细线进度条，常用于路由切换或接口请求时的加载反馈 |
| `qrcode` | `^1.5.4` | 二维码生成库，可在 Canvas/SVG/Node.js 中生成二维码图片 |

---

## 开发依赖（devDependencies）

这些包仅在开发/构建阶段使用，不会进入最终产物。

### 构建工具

| 包名 | 版本 | 作用 |
|------|------|------|
| `vite` | `^8.0.8` | 下一代前端构建工具，提供极快的冷启动和热更新 |
| `@vitejs/plugin-vue` | `^6.0.6` | Vite 官方 Vue 插件，处理 `.vue` 单文件组件的编译 |
| `vite-plugin-vue-devtools` | `^8.1.1` | Vue DevTools 的 Vite 插件集成，开发时提供组件树、状态检查等调试能力 |
| `unplugin-vue-components` | `^32.1.0` | 组件自动导入插件，无需手动 `import` 即可使用 Vant 等组件（按需引入） |
| `postcss-px-to-viewport-8-plugin` | `^1.2.5` | PostCSS 插件，自动将 CSS 中的 `px` 单位转换为 `vw`，实现移动端视口适配 |
| `less` | `^4.6.4` | Less CSS 预处理器，支持变量、嵌套、混入等语法 |
| `npm-run-all2` | `^8.0.4` | 提供 `run-s`（串行）和 `run-p`（并行）命令，用于组合多个 npm scripts |
| `jiti` | `^2.6.1` | 运行时 TypeScript/ESM 模块加载器，部分工具链（如 ESLint flat config）依赖它在 Node 中直接解析 TS 配置文件 |

### TypeScript

| 包名 | 版本 | 作用 |
|------|------|------|
| `typescript` | `~6.0.0` | TypeScript 编译器，提供静态类型检查 |
| `vue-tsc` | `^3.2.6` | Vue 单文件组件的 TypeScript 类型检查工具（基于 `tsc`，支持 `.vue` 文件） |
| `@tsconfig/node24` | `^24.0.4` | Node.js 24 的 `tsconfig.json` 基础配置预设 |
| `@types/node` | `^24.12.2` | Node.js 内置模块（`fs`、`path` 等）的类型声明 |
| `@vue/tsconfig` | `^0.9.1` | Vue 项目的 `tsconfig.json` 基础配置预设 |

### 代码规范

| 包名 | 版本 | 作用 |
|------|------|------|
| `eslint` | `^10.2.1` | JavaScript/TypeScript 代码静态分析工具，检测代码风格和潜在错误 |
| `eslint-plugin-vue` | `~10.8.0` | ESLint 的 Vue 规则插件，检查 `.vue` 文件的模板和脚本 |
| `@vue/eslint-config-typescript` | `^14.7.0` | Vue 官方的 TypeScript ESLint 配置预设 |
| `eslint-plugin-oxlint` | `~1.60.0` | 让 ESLint 跳过 OxLint 已覆盖的规则，避免重复检查 |
| `eslint-config-prettier` | `^10.1.8` | 关闭 ESLint 中与 Prettier 冲突的格式化规则，保证两者不打架 |
| `oxlint` | `~1.60.0` | Rust 编写的超快 linter（比 ESLint 快 50-100 倍），用于替代部分 ESLint 规则 |
| `prettier` | `3.8.3` | 代码格式化工具，统一缩进、引号、分号等风格，只管格式不管逻辑 |

---

## 依赖关系速览

```
开发流程
├── 代码编写阶段
│   ├── TypeScript (类型检查)
│   ├── ESLint + OxLint (代码规范)
│   └── Prettier (代码格式化)
│
├── 开发调试阶段
│   ├── Vite (开发服务器 + HMR)
│   ├── Vue / Vant (UI 开发)
│   └── vite-plugin-vue-devtools (调试工具)
│
└── 构建部署阶段
    ├── vue-tsc (类型检查)
    ├── Vite (打包构建)
    ├── postcss-px-to-viewport-8-plugin (移动端适配)
    └── unplugin-vue-components (按需引入)
```
