优化 Electron 打包体积:排除源码与冗余依赖

配置 electron-builder files 仅打 out 产物,移除未用依赖并将 Vue 生态移至 devDependencies;koffi 仅解包 win32_x64 并在 afterPack 裁剪;打包前清理旧 zip。
This commit is contained in:
24kycj
2026-06-03 11:24:13 +08:00
parent 75490d8647
commit 057285ed89
5 changed files with 155 additions and 357 deletions
+22 -15
View File
@@ -12,30 +12,39 @@
"build": "electron-vite build",
"preview": "electron-vite preview",
"typecheck": "vue-tsc --noEmit -p tsconfig.web.json",
"predist": "node scripts/check-native-dlls.js",
"predist": "node scripts/check-native-dlls.js && node scripts/clean-release-artifacts.js",
"predist:dir": "node scripts/check-native-dlls.js",
"predist:zip": "node scripts/check-native-dlls.js",
"predist:zip": "node scripts/check-native-dlls.js && node scripts/clean-release-artifacts.js",
"dist": "electron-vite build && electron-builder",
"dist:dir": "electron-vite build && electron-builder --dir",
"dist:zip": "electron-vite build && electron-builder --win zip"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^6.4.0",
"electron-log": "^5.1.2",
"electron-store": "^8.1.0",
"element-plus": "^2.4.4",
"koffi": "^2.9.0",
"pinia": "^2.1.7",
"vue": "^3.4.21",
"vue-router": "^4.3.0"
"koffi": "^2.9.0"
},
"build": {
"appId": "com.cardsoon.machine",
"productName": "卡树数据卡打印系统",
"asar": true,
"asarUnpack": [
"**/node_modules/koffi/**"
"node_modules/koffi/build/koffi/win32_x64/**"
],
"files": [
"out/**/*",
"!src/**",
"!scripts/**",
"!resources/**",
"!release/**",
"!release-pack/**",
"!electron.vite.config.ts",
"!tsconfig*.json",
"!tsconfig.web.tsbuildinfo",
"!.nvmrc"
],
"afterPack": "scripts/prune-pack.js",
"npmRebuild": false,
"directories": {
"output": "release"
},
@@ -53,16 +62,11 @@
{
"from": "resources/native/CapSettings.json",
"to": "CapSettings.json"
},
{
"from": "resources/cardsoon.config.json",
"to": "cardsoon.config.json"
}
],
"win": {
"target": [
"zip",
"nsis"
"zip"
],
"signAndEditExecutable": false
},
@@ -82,9 +86,12 @@
"electron": "20.3.12",
"electron-builder": "^24.13.3",
"electron-vite": "^1.0.29",
"pinia": "^2.1.7",
"sass": "^1.69.5",
"typescript": "^5.3.3",
"vite": "^4.5.2",
"vue": "^3.4.21",
"vue-router": "^4.3.0",
"vue-tsc": "^1.8.27"
}
}