1.微信后台获取上传密钥和白名单配置
  • 生成小程序代码上传密钥
  • IP 白名单配置(公网白名单)
    img

生成完成之后下载到根目录或项目其他地方(一会用得到)

上传失败后,编译器会提示对应 ip

上传项目到微信平台失败
Error: {"errCode":-10008,"errMsg":"invalid ip: 220.165.xxx.xx, reference: https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html"}
2.脚本安装(npm、cnpm、yarn)
npm i miniprogram-ci -D
3.创建配置文件

在项目根目录创建 autoUpload.js和添上面生成的密钥

img

autoUpload.js

const path = require("path");
import config from "./utils/config"; //配置文件,根据自己项目情况引入

const ci = require("miniprogram-ci");
(async () => {
  const project = new ci.Project({
    appid: config.appid, //appid
    type: "miniProgram",
    projectPath: path.resolve(__dirname, "./unpackage/dist/build/mp-weixin"), //项目路径,
    privateKeyPath: path.resolve(__dirname, "./private.wx143e91af36c97bf0.key"), //密钥位置
    ignores: ["node_modules/**/*"],
  });
  const uploadResult = await ci
    .upload({
      project,
      version: "1.0.2",
      desc: "gk",
      setting: {
        es6: true,
        minifyJS: true, // 压缩 JS 代码
        minifyWXML: true, //     压缩 WXML 代码
        minifyWXSS: true, //压缩 WXSS 代码
        minify: true, //压缩所有代码,对应小程序开发者工具的 "压缩代码"
        // codeProtect:false    对应小程序开发者工具的 "代码保护"
        autoPrefixWXSS: true, //对应小程序开发者工具的 "样式自动补全"
      },
      usingComponents: true,
      lazyCodeLoading: "requiredComponents",
      onProgressUpdate: console.log,
    })
    .then((res) => {
      console.log("成功", res);
      // console.log(`版本${mainfest.versionName}`)
    })
    .catch((error) => {
      console.log("失败", error);
      throw error;
    });
  // console.log(uploadResult)
})();
4.运行结果

上传代码
img

上传成功
img

官网地址

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐