被要求猛出小程序,做了这个多平台多环境的部署替我承受压力

前言:因为vibecoding的能力,公司决定以新小程序形式疯狂做新产品,所有环节都ai了,只有部署没有,让我苦恼,所以做了这个项目,让ai替我承受全部压力

mpc-plus

docs

小程序多端发版时,常见做法是:每个平台一套脚本、一堆零散的 JSON/CLI 参数,本地能跑,CI 里又要再抄一遍;AppID、私钥、Token 写死在仓库里也不安心。

MPC Plus 想解决的是:把「读配置 → 解析多平台 / 多环境 → 执行上传」收成一条清晰链路 ,尤其适合 uni-app / Taro 等多端模版 :构建产物分目录,上传逻辑却可以在 一个文件里统一描述。


和其它上传工具不太一样的点

常见做法 MPC Plus
各平台各写脚本,参数散落在命令行 一个 mpc.config.ts,结构、平台、环境一眼能看
敏感信息容易进仓库 配置里用 process.env ,凭据放 .env.* 或 CI 密钥,对隐私更友好
一次只传一个端 platforms 下多平台 × 多 env ,可筛选,也可 一次跑完全部
CI 和本地两套逻辑 同一套配置:CI 只注入环境变量 ,本地用 .env.prod 等文件

核心思路:配置是 TypeScript,可读、可类型检查;运行时按 --env 加载对应 .env,再解析出每个平台、每个环境的上传目标。


已支持平台

  • 微信
  • 抖音
  • 支付宝
  • 小红书

配置示例

ts 复制代码
import { defineConfig } from "@mpc-plus/cli";

export default defineConfig({
  project: {
    root: "./dist/build/mp-weixin",
  },

  release: {
    version: "1.0.0",
    description: "Release v1.0.0",
  },

  platforms: {
    wechat: [
      {
        env: "dev",
        appid: process.env.WX_APPID ?? "",
        privateKeyPath: process.env.WECHAT_PRIVATE_KEY_PATH ?? "./private.key",
      },
      {
        env: "prod",
        appid: process.env.WX_APPID ?? "",
        privateKeyPath: process.env.WECHAT_PRIVATE_KEY_PATH ?? "./private.key",
      },
    ],
    // douyin / alipay / xhs ... 同一文件里继续加
  },
});

本地 .env.prod 或 CI 里配置 WX_APPID、WECHAT_PRIVATE_KEY_PATH 等即可,不必把密钥写进配置文件本身。


使用方式

bash 复制代码
npm install -D @mpc-plus/cli

# 指定平台 + 环境
npm exec -- mpc upload --platform wechat --env prod

# 省略 --platform / --env:按配置依次上传所有平台与环境
npm exec -- mpc upload

模版项目里常见流程:build 各端产物 → 一条 mpc upload,比维护 N 份平台脚本省心不少。


开源项目,欢迎试用、提 Issue / PR。如果你也在做多端小程序模版或 CI 发版,欢迎交流。

相关推荐
lpfasd1236 小时前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
Data analyse4568 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai8 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
环境栈笔记9 小时前
指纹浏览器 WebRTC 怎么设置?从 ICE 候选、代理出口到功能验证
前端·人工智能·后端·自动化
赵大仁10 小时前
官网性能优化实战:LCP 3.2s → 2.1s、CLS 0.107 → 0,以及被我推翻的 6 个判断
前端·性能优化·cls·lcp·core web vitals
xiancai_xianyu10 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
小羊没烦恼!10 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
小蒜学长10 小时前
微信小程序-高校自习室管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·自习室管理
史瓦辛格10 小时前
给 DeepSeek Harness 写费用插件:把「这次会话花了多少钱」算准
前端·deepseek
星光不问赶路人10 小时前
Vue 3 + TypeScript 中 enum 的使用实践
前端·vue.js