前言:本文要解决两个痛点,首先HBX太耗性能且开发体验极差,所以使用命令行创建,摆脱HBX,对不起了官方😭,其次微信小程序每次发版本都极其的慢,需要打开一个新的开发者工具窗口,也恶心,垃圾微信😠,如果是在HBX中创建uni-app项目,那么这个直接发行配置一下,HBX也就给你做了,但是命令行的话,目前没发现怎么配置,只能自己写了........我的项目只用到了微信小程序,别的端可以自己配置,不好意思哈,搞出来了记得分享我一份😬,我学习(白嫖)一下

难点:uni-app命令创建,写一个脚本去自动化部署
参考文档:命令式创建uni-app        通过 CI 打包(miniprogram-ci)

1.先命令创建项目

pnpm create uni@latest

到这一步的时候可以多选,使用空格选择(官方也不知道提醒一下,对我这种菜鸡很不友好) 

这里可以把你需要的库加上,比如状态管理pinpa,比如unocss,这样就不用自己写了省事很多

这样就OK了

2.进入项目后就可以写脚本实行自动化部署了

2.1先下载依赖,这个是微信出的一个包

pnpm add miniprogram-ci

2.2需要在微信公众平台下载部署所需文件和配置白名单(你的IP)

2.3 然后在根目录下配置脚本和密钥

2.3.1密钥仍到根目录下

2.3.1上传脚本也在根目录下  scripts/upload-wechat.js

const ci = require('miniprogram-ci');
const path = require('path');

const upload = async () => {
  try {
    const project = new ci.Project({
      appid: '你的APPID',
      type: 'miniProgram',
      projectPath: path.resolve(__dirname, '../dist/build/mp-weixin'), // 这是你本地打包后的位置
      privateKeyPath: path.resolve(__dirname, '../private.APPID.key'), //这里需要用到一个上面提到的密钥
      ignores: ['node_modules/**/*']
    });
    
    // 这里用到了ci.upload,官方还有好多方法,我这里只用到了一个上传,你们有别的需要可以自行琢磨
    const previewResult = await ci.upload({
      project,
      desc: '', // 描述
      version: '1.0.1', // 版本
      // 开发者工具中右侧默认的配置
      setting: {
        urlCheck: false,
        es6: true,
        postcss: true,
        minified: true,
        newFeature: true,
        bigPackageSizeSupport: true,
        compileWorklet: true,
        uglifyFileName: true,
        uploadWithSourceMap: true,
        enhance: false,
        packNpmManually: false,
        packNpmRelationList: [],
        minifyWXSS: true,
        minifyWXML: true,
        localPlugins: false,
        disableUseStrict: false,
        useCompilerPlugins: false,
        condition: true,
        swc: true,
        disableSWC: false,
        babelSetting: {
          ignore: [],
          disablePlugins: [],
        },
      },
    });
    console.error('上传成功:', previewResult);
  } catch (error) {
    console.error('上传失败:', error)
    require('node:process').exit(1) // 非0退出码表示执行失败
  }
}

upload();

3.修改打包命令,并创建环境变量

3.1创建变量.env.development和.env.production文件

# 开发/测试环境API地址
VITE_API_URL="'https://xxx-test.com'"


# 生产环境API地址
VITE_API_URL="'https://xxx-prod.com'"

3.2package.json中修改命令

把默认的命令改成这俩即可,然后运行pnpm run test和pnpm run build,分别上传测试地址体验版和线上地址体验版。

"test": "uni build -p mp-weixin --mode development && node scripts/upload-wechat.js",
"build": "uni build -p mp-weixin --mode production && node scripts/upload-wechat.js",

更多推荐