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"},整个项目上传成功

官方文档

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

相关推荐
To_OC6 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
vipbic7 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy7 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
小和尚同志7 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
invicinble9 小时前
c端系统,其实更像一个信息展示平台
前端
李姆斯9 小时前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜10 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司10 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能
kaiking_g11 小时前
vue项目中,静态导入 vs 动态导入 详解
前端·javascript·vue.js
江华森11 小时前
Web 开发基础:HTTP 与 REST
前端·网络协议·http