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

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

相关推荐
原则猫5 小时前
UDP 到底怎么实现可靠的
前端
Java后端的Ai之路5 小时前
14、ReactJS - 路由(Router)
前端·react.js·状态模式
裕晟资质规划7 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
ShineWinsu7 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
月夏7 小时前
Vue3 转 React:18 项对照表 + 5 个必踩的坑(附 7 天上手路线)
前端
广州华水科技7 小时前
单北斗GNSS位移监测系统的应用与维护解析
前端
梦曦i7 小时前
uni-storage 0.1.0 发布:TTL过期管理+多实例隔离
前端·storage·uni-app x
猫头_8 小时前
AI 流式传输工程指南:模型吐出半截 JSON,前端如何边收边渲染?
前端·javascript·llm
console.log('npc')9 小时前
第 1 章 项目概述与环境搭建
前端·人工智能·大模型
定栓9 小时前
Webpack迁到Vite第七节(二):全家桶移除 — Babel 全家桶深度分析
前端·webpack·node.js