uniapp-小程序命令行打包上传

用到依赖

  1. miniprogram-ci. wx提供的上传微信包的工具,脚手架打包完成后,执行它提供的api实现文件上传
  2. vue.config.js vue脚手架的配置,默认没有这个文件,我们需要添加打包完成后的回调里面调用miniprogram-ci的api上传文件, 配置参考 | Vue CLI

vue.config.js 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 vue 字段,但是注意这种写法需要你严格遵照 JSON 的格式来写。

vue.config.js

复制代码
const updated=require("./updated")
const webpack = require('webpack')

module.exports = {
    chainWebpack: config => {
        config.plugin('done')
            .use(require('webpack').ProgressPlugin, [
                {
                    handler: (percentage, message, ...args) => {
                        console.log("done !!@!@!@!@:", percentage, message)
                        //当percentage为1时候说明打包完成,在这里调用上传函数
                        updated()
                    },
                },
            ]);
    }
}

上传配置

上传需要配置小程序的key以及本次上传的改动说明,具体看下面代码

key是单独文件放在某个目录里面,在上面updated函数里面给配置配置好读取的key的目录文件

update函数实现

复制代码
module.exports=async()=>{

    const ci = require("miniprogram-ci");
    const path = require("path");
    const project = new ci.Project({
      appid: "wxsomeappid",//appid
      type: "miniProgram",
      projectPath: process.cwd(),//项目的路径,需要修改
      privateKeyPath: process.cwd() + "/privateKey.key",//key所在的路径,也需要改
      ignores: ["node_modules/**/*"],
    });

    ci.upload({
      project,
      version: "1.0.3",
      desc: "desc",//本次改动备注
      setting: {
       es6: true, // es6 转 es5
    	disableUseStrict: true,
	    autoPrefixWXSS: true, // 上传时样式自动补全
	    minifyJS: true,
	    minifyWXML: true,
	    minifyWXSS: true,
        minify: true,
      },
    });

}

上传过程中会自动的输出log,

直到看到{"_status":"done","_msg":"upload","_id":"xxx"},整个项目上传成功

官方文档

官方文档概述 | 微信开放文档

相关推荐
数据知道3 小时前
AES 加密实战——模式选择(ECB/CBC/GCM)与安全陷阱
前端·网络·安全
志尊宝4 小时前
Vue3 零基础每日笔记(009):watch 侦听器——数据一变就“做事“
vue.js·笔记·缓存
一夜枫林4 小时前
vue实现scroll-view上下滑动右侧左右滑动
前端·javascript·vue.js
志尊宝4 小时前
Vue3 零基础每日笔记(011):生命周期钩子——在正确的时间做正确的事
javascript·vue.js·笔记
苏三的开发日记4 小时前
npm EPERM:无法写入 `.npmrc` 的排查与解决
前端
YWL4 小时前
OpenLayers地图分享:URL参数同步+分享链接生成,让用户一键分享地图视角
前端·javascript·vue·openlayers
枫叶梨花5 小时前
Electrobun透明窗口在Windows上的输入穿透排查
前端·electron·bun
卤蛋fg65 小时前
vue 甘特图组件 vxe-gantt 依赖连接线可视化拖拽创建与双击删除
vue.js
云上工程笔记6 小时前
AstraFlow + React/Vite:如何用自然语言开发并部署一个 AI 咖啡网站原型
前端·人工智能·react.js
Q一件事6 小时前
ArcGIS中TypeError: can‘t multiply sequence by non-int of type ‘str‘错误
前端·javascript·arcgis