|
|
@@ -56,6 +56,37 @@ pnpm install
|
|
|
|
|
|
---
|
|
|
|
|
|
+## 命令行参数
|
|
|
+
|
|
|
+### 发布类型 (action)
|
|
|
+
|
|
|
+| 参数 | 说明 | 构建行为 | 输出路径 |
|
|
|
+|------|------|----------|----------|
|
|
|
+| `experience` | 体验版(默认) | 默认执行构建 | `dist/weapp/production/` |
|
|
|
+| `dev` | 开发版 | 默认跳过构建 | `dist/weapp/development/` |
|
|
|
+
|
|
|
+### 构建控制参数
|
|
|
+
|
|
|
+| 参数 | 说明 |
|
|
|
+|------|------|
|
|
|
+| `--build` | 强制执行构建 |
|
|
|
+| `--no-build` | 跳过构建 |
|
|
|
+
|
|
|
+### 使用示例
|
|
|
+
|
|
|
+```bash
|
|
|
+# 开发版使用 watch 模式输出(快速)
|
|
|
+node scripts/publish-weapp.js enterprise dev
|
|
|
+
|
|
|
+# 开发版强制重新构建
|
|
|
+node scripts/publish-weapp.js enterprise dev --build
|
|
|
+
|
|
|
+# 体验版跳过构建(不推荐)
|
|
|
+node scripts/publish-weapp.js enterprise experience --no-build
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
## 环境变量配置
|
|
|
|
|
|
发布时可通过环境变量自定义:
|
|
|
@@ -81,6 +112,19 @@ VERSION=1.2.0 DESC="新增功能" pnpm run publish:enterprise
|
|
|
|
|
|
---
|
|
|
|
|
|
+## 输出路径说明
|
|
|
+
|
|
|
+发布脚本根据类型自动选择输出路径:
|
|
|
+
|
|
|
+| 类型 | 环境变量 | 输出目录 | 用途 |
|
|
|
+|------|----------|----------|------|
|
|
|
+| **体验版** | `NODE_ENV=production` | `dist/weapp/production/` | 提交审核/体验版 |
|
|
|
+| **开发版** | `NODE_ENV=development` | `dist/weapp/development/` | 开发调试 |
|
|
|
+
|
|
|
+开发版使用 `.env.development` 中的 API 配置,体验版使用 `.env.production`。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
## 发布前准备
|
|
|
|
|
|
### 1. 安装技能依赖
|
|
|
@@ -102,3 +146,20 @@ pnpm install
|
|
|
### 3. 配置 IP 白名单
|
|
|
|
|
|
在微信公众平台配置服务器的 IP 白名单。
|
|
|
+
|
|
|
+### 4. 确保 ES5 转译配置
|
|
|
+
|
|
|
+小程序的 `config/dev.ts` 中应包含以下配置,确保所有依赖被转译为 ES5:
|
|
|
+
|
|
|
+```ts
|
|
|
+mini: {
|
|
|
+ compile: {
|
|
|
+ include: [
|
|
|
+ // 确保产物为 es5,转译所有 node_modules(除了 Babel 核心)
|
|
|
+ filename => /node_modules\/(?!(@babel|core-js|style-loader|css-loader|react|react-dom))/.test(filename)
|
|
|
+ ]
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**原因**:微信小程序的预览编译器不完全支持 ES6+ 语法(如可选链 `?.`),需要确保所有代码被转译为 ES5。
|