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:
@@ -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/` 构建产物 |
|
||||
|
||||
## 开发说明
|
||||
|
||||
|
||||
3949
vtubermini/package-lock.json
generated
3949
vtubermini/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user