chore: standardize on pnpm, remove npm lockfile

Mixed npm + pnpm installs corrupted node_modules and broke
@tailwindcss/vite resolution, which stopped the dev server from
starting. Standardize the project on pnpm:

- remove package-lock.json (keep pnpm-lock.yaml as the single lockfile)
- switch all README commands from npm to pnpm, and document that
  npm/yarn must not be mixed in

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
km2023
2026-06-29 11:37:30 +08:00
parent 8f164fd04e
commit b3da91f17f
2 changed files with 17 additions and 3966 deletions

View File

@@ -5,7 +5,7 @@
本仓库是该 App 的 **前端工程**:一个 React + Vite 构建的单页应用,通过 **Capacitor** 打包为原生 Android App,为 App 提供**本地 H5 界面**(界面随包内置、离线运行,不依赖在线服务器)。
> ⚠️ **核心约定**:Capacitor 加载的是 `dist/` 目录里的构建产物(`capacitor.config.ts` 中 `webDir: 'dist'`)。
> **每次同步到原生工程 / 打包前,必须先 `npm run build`**,否则原生壳里装的是上一次(甚至为空)的旧界面。
> **每次同步到原生工程 / 打包前,必须先 `pnpm build`**,否则原生壳里装的是上一次(甚至为空)的旧界面。
---
@@ -23,17 +23,17 @@
## 环境要求
- **Node.js ≥ 20.19**(Vite 8 要求,推荐 LTS)
- **npm**(项目脚本以 npm 为准)
- 打包 Android 还需:**JDK 17**、**Android SDK**、Android Studio(可用 `npm run check:android` 自检本机环境)
- **pnpm**(项目统一用 pnpm,锁文件为 `pnpm-lock.yaml`;**不要和 npm/yarn 混用**,混装会污染 `node_modules` 依赖树,导致 dev server 起不来)
- 打包 Android 还需:**JDK 17**、**Android SDK**、Android Studio(可用 `pnpm check:android` 自检本机环境)
## 快速开始
```bash
# 安装依赖
npm install
pnpm install
# 启动开发服务器(默认 http://localhost:5176,监听 0.0.0.0,可局域网/真机调试)
npm run dev
pnpm dev
```
## 构建与打包到 Android
@@ -42,18 +42,18 @@ H5 → 原生的链路是:**`build` 生成 `dist/` → `cap sync` 把 `dist/`
```bash
# 1) 构建 H5(类型检查 + Vite 打包,输出到 dist/)
npm run build
pnpm build
# 2) 把 dist/ 同步进 Android 原生工程
npm run cap:sync # 等价于 npx cap sync android
pnpm cap:sync # 等价于 npx cap sync android
# —— 或者一步到位(先 build 再 sync)——
npm run android:sync
pnpm android:sync
```
同步完成后,用 Android Studio 打开 `android/` 目录构建并运行,或用 Gradle 直接打包 APK。
> 再次提醒:**改了任何前端代码后,务必重新 `npm run build`(或直接 `npm run android:sync`)**,再去构建 APK。`cap sync` 本身不会触发前端构建。
> 再次提醒:**改了任何前端代码后,务必重新 `pnpm build`(或直接 `pnpm android:sync`)**,再去构建 APK。`cap sync` 本身不会触发前端构建。
## 项目结构
@@ -73,7 +73,7 @@ vtubermini/
│ └─ assets/desktop-assets/ # 立绘、视频等媒体素材(经 Git LFS 管理)
├─ android/ # Capacitor 生成的 Android 原生工程
├─ public/ # 原样拷贝的静态资源
├─ dist/ # 构建产物(被 .gitignore 忽略,由 npm run build 生成)
├─ dist/ # 构建产物(被 .gitignore 忽略,由 pnpm build 生成)
├─ capacitor.config.ts # Capacitor 配置(appId / appName / webDir)
└─ vite.config.ts # Vite 配置 + 自定义布局编写插件
```
@@ -82,13 +82,13 @@ vtubermini/
| 命令 | 作用 |
| --- | --- |
| `npm run dev` | 启动 Vite 开发服务器(`0.0.0.0:5176`,支持真机/局域网调试) |
| `npm run build` | 类型检查(`tsc -b`)+ Vite 构建,输出到 `dist/` |
| `npm run cap:sync` | `npx cap sync android`,把 `dist/` 同步进 Android 工程 |
| `npm run android:sync` | 一步到位:先 `build``cap:sync` |
| `npm run check:android` | 自检本机 Android 构建环境 |
| `npm run lint` | 运行 ESLint |
| `npm run preview` | 本地预览 `dist/` 构建产物 |
| `pnpm dev` | 启动 Vite 开发服务器(`0.0.0.0:5176`,支持真机/局域网调试) |
| `pnpm build` | 类型检查(`tsc -b`)+ Vite 构建,输出到 `dist/` |
| `pnpm cap:sync` | `npx cap sync android`,把 `dist/` 同步进 Android 工程 |
| `pnpm android:sync` | 一步到位:先 `build``cap:sync` |
| `pnpm check:android` | 自检本机 Android 构建环境 |
| `pnpm lint` | 运行 ESLint |
| `pnpm preview` | 本地预览 `dist/` 构建产物 |
## 开发说明

File diff suppressed because it is too large Load Diff