/** * electron-builder afterPack:若缺少 browser_v8_context_snapshot.bin, * 则从 v8_context_snapshot.bin 复制一份,避免「缺少v8 startup snapshot文件」报错。 */ const path = require('path') const fs = require('fs') function tryCopySnapshot(dir) { const v8 = path.join(dir, 'v8_context_snapshot.bin') const browser = path.join(dir, 'browser_v8_context_snapshot.bin') if (fs.existsSync(v8) && !fs.existsSync(browser)) { fs.copyFileSync(v8, browser) console.log('[afterPack] 已复制 v8_context_snapshot.bin -> browser_v8_context_snapshot.bin') return true } return false } module.exports = async function afterPack(context) { if (context.electronPlatformName !== 'win32') return const resourcesDir = path.join(context.appOutDir, 'resources') tryCopySnapshot(resourcesDir) || tryCopySnapshot(context.appOutDir) }