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

前言:因为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 发版,欢迎交流。

相关推荐
Frag0ut1 小时前
告别插件时代:HTML5 视频播放对比 Flash/Silverlight/ActiveX 的性能与技术优势解析
前端·html5·视频播放·flash·activex·流媒体技术·silverlight
用户818618028001 小时前
MongoDB文档模型设计——从建模到索引
前端
無名路人2 小时前
小程序点餐页吸顶滚动之分类按需加载,上划切换
前端·vue.js·微信小程序
竹林8183 小时前
把神经网络塞进一个浏览器标签页:端侧视觉 AI 的工程真相
前端·浏览器
乘风gg3 小时前
别跟风 AI 副业,工程师最该学的是 AI Coding
前端·ai编程·claude
Frag0ut3 小时前
深度解析:Chrome 自启动与后台常驻服务的作用、关闭方法及利弊权衡
前端·chrome
Amos_Web3 小时前
Rspack 源码解析(十五):Loader Runner 与 JS Loader 桥接
前端·rust·前端框架
YIAN4 小时前
从 SSE 流式到结构化输出:LangChain 三大 OutputParser 与 ToolCall 方案全实战
前端·langchain·node.js
YIAN4 小时前
从 SSE 流式原理到 LangChain 结构化输出:打字机效果与 JSON 解析全方案实战
前端·langchain