2026-09-11 22:46:31 +08:00
|
|
|
|
appId: com.classhelper.desktop
|
2026-10-06 19:41:18 +08:00
|
|
|
|
productName: ClassHelper
|
2026-09-11 22:46:31 +08:00
|
|
|
|
copyright: Copyright © 2026 Class Helper
|
|
|
|
|
|
|
2026-10-05 16:39:38 +08:00
|
|
|
|
# 语言包:Electron 发行版自带 55 个 `locales/*.pak`(实测 48.3MB 未压缩 / 约 10MB 压缩后),
|
|
|
|
|
|
# 而本应用界面文案只有中文,其余 54 个语言包纯属白占体积(`win-unpacked` 372MB → 约 324MB)。
|
|
|
|
|
|
# 这是 electron-builder 的官方选项:`app-builder-lib` 的 removeUnusedLanguagesIfNeeded()
|
|
|
|
|
|
# 会对 `locales/*.pak` 做精确匹配删除,只留 `zh-CN.pak`(0.6MB)。
|
|
|
|
|
|
#
|
|
|
|
|
|
# 注意:**不要**为了继续压体积去删 dxcompiler/vk_swiftshader/d3dcompiler_47 这些 GPU 回退组件,
|
|
|
|
|
|
# 或 LICENSES.chromium.html —— 前者是教室老显卡/虚拟机上的 D3D12/D3D11/Vulkan 渲染回退,
|
|
|
|
|
|
# 后者是 Chromium 的许可证声明,合计只能再省约 12MB,风险不成比例。
|
2026-10-06 19:41:18 +08:00
|
|
|
|
# 另外安装包有硬底:`ClassHelper.exe`(就是 electron.exe)压缩后本身就有 85~90MB,别再指望压到 60MB。
|
2026-10-05 16:39:38 +08:00
|
|
|
|
electronLanguages:
|
|
|
|
|
|
- zh-CN
|
|
|
|
|
|
|
2026-09-11 22:46:31 +08:00
|
|
|
|
directories:
|
2026-10-06 15:31:38 +08:00
|
|
|
|
# 这里的 output 只是 electron-builder 的兜底值:scripts/dist-win.mjs 会把它覆盖成
|
|
|
|
|
|
# releases/client/<版本>/(与服务端、插件同一约定)。直接手敲 electron-builder 才会落到这里。
|
2026-09-11 22:46:31 +08:00
|
|
|
|
output: release
|
|
|
|
|
|
buildResources: build
|
|
|
|
|
|
|
2026-10-02 00:25:21 +08:00
|
|
|
|
# 注意:这里**不要**加 afterPack 去改 appOutDir 的完整性标签。
|
|
|
|
|
|
# 归档内部的载荷标签不会被还原(装到正常位置拿到的是默认 Medium 文件),
|
|
|
|
|
|
# 而在打包前把 appOutDir 改成 Medium 会让 7za(自身带 Low 标签、进程被降到 Low)
|
|
|
|
|
|
# 因"不能向上读"而无法生成归档。交付物的标签统一在 scripts/dist-win.mjs 收尾时修正。
|
|
|
|
|
|
|
2026-09-11 22:46:31 +08:00
|
|
|
|
# 渲染进程产物已由 Vite 打包、主进程/preload 已由 esbuild 打包,
|
|
|
|
|
|
# 运行时不需要任何 node_modules(electron 模块由 Electron 运行时提供)。
|
|
|
|
|
|
files:
|
|
|
|
|
|
- dist/**/*
|
|
|
|
|
|
- package.json
|
|
|
|
|
|
- '!node_modules/**/*'
|
|
|
|
|
|
- '!**/*.map'
|
|
|
|
|
|
|
|
|
|
|
|
asar: true
|
|
|
|
|
|
# 没有原生模块,跳过 rebuild,避免不必要的 node-gyp 依赖
|
|
|
|
|
|
npmRebuild: false
|
|
|
|
|
|
compression: normal
|
|
|
|
|
|
removePackageScripts: true
|
|
|
|
|
|
|
|
|
|
|
|
win:
|
|
|
|
|
|
target:
|
|
|
|
|
|
- target: nsis
|
|
|
|
|
|
arch: [x64]
|
|
|
|
|
|
- target: portable
|
|
|
|
|
|
arch: [x64]
|
2026-10-06 15:31:38 +08:00
|
|
|
|
# 应用/安装包图标。**显式指定**而不是靠 electron-builder 的默认约定(默认找 build/icon.ico):
|
|
|
|
|
|
# 现在生效的是仓库根 build/classhelper.{ico,png}(设计导出、手工放入),
|
|
|
|
|
|
# 而 `pnpm icons` 那条 SVG 流水线只会重写 icon.*,两者不打架。
|
|
|
|
|
|
icon: build/classhelper.ico
|
2026-09-11 22:46:31 +08:00
|
|
|
|
artifactName: ${productName}-${version}-${arch}.${ext}
|
|
|
|
|
|
|
|
|
|
|
|
nsis:
|
|
|
|
|
|
oneClick: false
|
|
|
|
|
|
perMachine: false
|
|
|
|
|
|
allowToChangeInstallationDirectory: true
|
|
|
|
|
|
createDesktopShortcut: true
|
|
|
|
|
|
createStartMenuShortcut: true
|
2026-10-06 19:41:18 +08:00
|
|
|
|
shortcutName: ClassHelper
|
2026-09-11 22:46:31 +08:00
|
|
|
|
artifactName: ${productName}-${version}-${arch}-setup.${ext}
|
|
|
|
|
|
|
|
|
|
|
|
portable:
|
|
|
|
|
|
artifactName: ${productName}-${version}-${arch}-portable.${ext}
|