傻瓜式命令创建uniApp+vue3+unocss+pinpa+根据环境变量打包+自动化部署体验版微信小程序
·
前言:本文要解决两个痛点,首先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",
更多推荐

所有评论(0)