告别手写发布脚本,微信小程序上传、预览一步搞定!

318 阅读3分钟

🎉 告别手写发布脚本,微信小程序上传、预览一步搞定!🎉

今天给大家带来一个超级实用的工具——wechat-mini-ci。这个工具可以让你在微信小程序的发布过程中,彻底告别手写脚本的烦恼!🚀

首先,要特别感谢若川大佬的灵感贡献,他的mini-ci项目为wechat-mini-ci的诞生提供了坚实的基础。👏

🤔 为什么要用 wechat-mini-ci

想象一下,每次发布小程序,你都要手动敲一堆命令,甚至还要写复杂的脚本。是不是有点头大?🤯 别担心,wechat-mini-ci就是来拯救你的!它帮你把上传、预览这些繁琐的步骤一键搞定,省时省力,还能避免手误。💪

🚀 快速上手

安装 wechat-mini-ci 非常简单,只需要几行命令:

npm i -D @johnsonhuang4396/wechat-mini-ci

或者全局安装:

npm i -g @johnsonhuang4396/wechat-mini-ci

如果你不想安装,也可以直接使用 npx

npx @johnsonhuang4396/wechat-mini-ci [command]

🛠️ 配置你的小程序

在项目根目录下创建一个 ci.config.ts 文件,配置如下:

import { defineConfig } from '@johnsonhuang4396/wechat-mini-ci'

export default defineConfig({
  name: 'wechat-mini-program',
  projectPath: './dist/build/mp-weixin/',
  privateKeyPath: '填入private-key所在的相对/绝对路径',
  appid: '填入小程序的appid'
})

然后,在终端输入以下命令,就可以轻松实现上传和预览:

wmc p #预览
wmc u #上传

是不是很简单?😎

📦 多小程序管理

如果你有多个小程序需要管理,defineConfig 也支持传入数组,方便你批量操作:

export default defineConfig([
  {
    name: 'wechat-mini-program1',
    projectPath: '填入打包后的小程序路径',
    privateKeyPath: '填入private-key所在的相对/绝对路径',
    appid: '填入小程序的appid'
  },
  {
    name: 'wechat-mini-program2',
    projectPath: '填入打包后的小程序路径',
    privateKeyPath: '填入private-key所在的相对/绝对路径',
    appid: '填入小程序的appid'
  },
])

然后,你可以选择操作一个或多个小程序:

wmc p #默认情况下为全量预览
wmc p -s #选择一个小程序进行预览
wmc p -m #选择多个小程序进行预览

🛠️ 自定义脚本

如果内置的功能不能够满足的你需求,也可以通过调用导出的previewupload函数来实现自定义脚本👇

import { preview, upload } from '@johnsonhuang4396/wechat-mini-ci'

preview(root, {...})
upload(root, {...})

previewupload函数均已内置初始化功能,你不需要自行初始化。但如果有自定义的需求,可以通过调用Project并传入配置项来进行自定义操作👇:

import { Project } from '@johnsonhuang4396/wechat-mini-ci'

const {
  instance, // 初始化对象,对应miniprogram-ci的project,
  options, // 初始化时传入的配置项
  preview,
  upload
} = new Project({ ...传入配置项 }) // Project在调用时会自动初始化,不需要重复初始化

🎨 插件功能

wechat-mini-ci 还支持插件功能,你可以在操作前后运行自定义插件。比如,内置的 print-qrcode 插件会在预览后打印出小程序的二维码,方便你直接扫码测试。📱

插件的实现如下👇:

// plugin.ts
export const plugin = {
  name: '插件名称',
  state: 'prev' | 'post',
  fn: ({ action, config }): void => {
    // action 是当前执行的操作,值为 preview 或 upload
    // config 包含了CLI的可选项和当前执行操作的小程序配置项
  }
}

🎉 最后

再次感谢若川大佬的开源贡献,他的项目为 wechat-mini-ci 提供了宝贵的灵感。如果你觉得这个工具好用,别忘了给项目点个 Star ⭐️,也欢迎在掘金上分享你的使用心得!📝

项目地址:wechat-mini-ci

让我们一起告别手写脚本,拥抱高效的开发生活!🚀