把 stub-app-projects/mp-harmony 中编译所需的文件导成 zip, 供没有本仓库/没有 HBuilderX 的电脑解压后直接用 DevEco 编译上传。 用法: npm run pack:harmony # 默认: 含证书, 不含 node_modules npm run pack:harmony -- --no-certs # 不含签名证书 npm run pack:harmony -- --with-node-modules # 含 hvigor/node_modules(320MB), 离线机 npm run pack:harmony -- --out <dir> # 自定义输出目录 输出 unpackage/dist/harmony-export/mp-harmony-project-*.zip, 内含一层 mp-harmony/。 实现要点: - 全程只读源目录: 先复制到暂存目录再压缩, 不修改 stub 下任何文件 - 采用「全量复制 - 排除清单」而非白名单, 避免漏掉新增必需文件 - 包含 ascf/ascf_src (uniapp 编译产物快照), 目标机因此无需本仓库和 HBuilderX - 包含 cert-profile 签名证书, 否则 hvigor 无法签名, 产不出可上传的 .app - 排除 node_modules(320M)/oh_modules/build/.preview(22M)/.idea/.hvigor/local.properties ZIP 由纯 Node 实现 (zlib + 手写 ZIP 头), 未用系统命令, 因为本机两种方案都产出 不合规 zip 且失败是静默的: - PowerShell Compress-Archive / ZipFile::CreateFromDirectory 写反斜杠条目名, 非 ZIP 规范, macOS/Linux 解压出畸形路径 - 本机 tar 是 GNU tar 1.35, 不支持创建 zip 且 exit 0, try/catch 拦不住 已验证: 解压后骨架齐全(AppScope/build-profile/entry/ascf_src/证书/README), 排除项均不存在, unzip -t 无错误, 中文文件名改 ASCII 规避工具编码差异。
94 lines
3.1 KiB
JSON
94 lines
3.1 KiB
JSON
{
|
|
"scripts": {
|
|
"mp-weixin": "node scripts/mp-weixin.patch.js",
|
|
"pack:harmony": "node scripts/pack-harmony-project.js",
|
|
"i18n:check": "node scripts/i18n-check.js",
|
|
"test": "node scripts/test-gate.js",
|
|
"test:util": "node --test tests/util.test.js",
|
|
"prebuild": "npm run test",
|
|
"prestart": "npm run test"
|
|
},
|
|
"devDependencies": {
|
|
"dart-sass": "^1.25.0",
|
|
"terser-webpack-plugin": "^5.3.10",
|
|
"zion-uniapp-mp-load-package": "^1.0.13"
|
|
},
|
|
"dependencies": {
|
|
"jweixin-module": "^1.6.0"
|
|
},
|
|
"uni-app": {
|
|
"scripts": {
|
|
"weixin": {
|
|
"title": "微信小程序自定义发行",
|
|
"env": {
|
|
"UNI_PLATFORM": "mp-weixin"
|
|
},
|
|
"define": {
|
|
"MP_WEIXIN": true,
|
|
"PRODUCTION": true
|
|
}
|
|
},
|
|
"h5-xcx20.5g-quickapp.com": {
|
|
"title": "H5-xcx20.5g-quickapp.com",
|
|
"env": {
|
|
"UNI_PLATFORM": "h5",
|
|
"UNI_APP_DOMAIN": "https://xcx20.5g-quickapp.com/"
|
|
},
|
|
"define": {
|
|
"PRODUCTION": true
|
|
}
|
|
},
|
|
"h5-xcx.aigc-quickapp.com": {
|
|
"title": "H5-xcx.aigc-quickapp.com",
|
|
"env": {
|
|
"UNI_PLATFORM": "h5",
|
|
"UNI_APP_DOMAIN": "https://xcx.aigc-quickapp.com/"
|
|
},
|
|
"define": {
|
|
"PRODUCTION": true
|
|
}
|
|
},
|
|
"h5-5g.aigc-quickapp.com": {
|
|
"title": "H5-5g.aigc-quickapp.com",
|
|
"env": {
|
|
"UNI_PLATFORM": "h5",
|
|
"UNI_APP_DOMAIN": "https://5g.aigc-quickapp.com/"
|
|
},
|
|
"define": {
|
|
"PRODUCTION": true
|
|
}
|
|
},
|
|
"h5-test.aigc-quickapp.com": {
|
|
"title": "H5-test.aigc-quickapp.com",
|
|
"env": {
|
|
"UNI_PLATFORM": "h5",
|
|
"UNI_APP_DOMAIN": "https://test.aigc-quickapp.com/"
|
|
},
|
|
"define": {
|
|
"PRODUCTION": true
|
|
}
|
|
},
|
|
"http://localhost:8050/": {
|
|
"title": "H5-localhost:8050",
|
|
"env": {
|
|
"UNI_PLATFORM": "h5",
|
|
"UNI_APP_DOMAIN": "http://localhost:8050/"
|
|
},
|
|
"define": {
|
|
"PRODUCTION": true
|
|
}
|
|
},
|
|
"http://192.168.8.118:8050/": {
|
|
"title": "H5-192.168.8.118:8050",
|
|
"env": {
|
|
"UNI_PLATFORM": "h5",
|
|
"UNI_APP_DOMAIN": "http://192.168.8.118:8050/"
|
|
},
|
|
"define": {
|
|
"PRODUCTION": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|