ry_app/ci-script.js

61 lines
2.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

const ci = require('miniprogram-ci');
const path = require('path');
const fs = require('fs');
// 配置项(必须改!)
const config = {
appid: 'wx9393bde462d9805a', // 替换成你的正式小程序AppID
// 替换成你的密钥文件路径(比如 private.wx9393bde462d9805a.key
privateKeyPath: path.resolve(__dirname, './private.wx9393bde462d9805a.key'),
projectPath: path.resolve(__dirname, './unpackage/dist/dev/mp-weixin'),
version: '1.0.0',
desc: '自动化上传测试',
// ci-script.js 中的 setting 配置
setting: {
es6: true,
es7: true,
minify: true, // 基础压缩
minifyJS: true, // 压缩JS移除注释、空格、变量名混淆
minifyWXSS: true, // 压缩样式(合并重复样式、移除空格)
minifyXML: true, // 压缩配置文件app.json/page.json
autoPrefixWXSS: true,
codeProtect: false, // 关闭代码保护(保护会增加体积)
ignoreUnusedFiles: true, // 自动忽略未引用的文件
disableUseStrict: true, // 禁用"use strict"减少JS体积
disableShowSourceMap: true // 关闭sourcemap调试文件占体积
},
previewQrOutputPath: path.resolve(__dirname, './preview-qr.png'),
onProgressUpdate: (res) => {
console.log(`进度:${res.progress}%,状态:${res.status}`);
}
};
// 上传代码方法
async function uploadCode() {
try {
if (!fs.existsSync(config.privateKeyPath)) {
throw new Error(`密钥文件不存在:${config.privateKeyPath}`);
}
const project = new ci.Project({
appid: config.appid,
type: 'miniProgram',
projectPath: config.projectPath,
privateKeyPath: config.privateKeyPath,
ignores: ['node_modules/**/*'],
});
const uploadResult = await ci.upload({
project,
version: config.version,
desc: config.desc,
setting: config.setting,
onProgressUpdate: config.onProgressUpdate,
});
console.log('✅ 代码上传成功:', uploadResult);
} catch (error) {
console.error('❌ 上传失败:', error.message);
process.exit(1);
}
}
// 执行上传
uploadCode();