Electron macOS打包后窗口带边框标题,开发构建正常求助
解决Electron打包后titleBarStyle配置不生效的问题
这种情况我之前也碰到过,开发环境一切正常,打包成.app后标题栏又回来了,大概率是打包配置或者窗口初始化的细节没处理到位,给你几个排查方向:
完善窗口显示逻辑
你已经设置了show: false,但一定要等到窗口准备好再显示,否则部分平台特定的配置可能还没生效。把这段代码补上:mainWindow = new BrowserWindow({ width: 600, height: 1000, show: false, titleBarStyle: 'hiddenInset', webPreferences: { nodeIntegration: true, } }); // 监听ready-to-show事件后再显示窗口 mainWindow.on('ready-to-show', () => { mainWindow.show(); });在打包配置中显式指定titleBarStyle
如果你用的是electron-builder,在package.json的build字段里给mac平台单独配置一下,避免打包工具覆盖你的窗口设置:"build": { "appId": "com.your.app.id", "mac": { "target": "dmg", "titleBarStyle": "hiddenInset", "darkModeSupport": true } }检查Electron和打包工具版本兼容性
有些旧版本的Electron在macOS上对hiddenInset的支持有bug,建议升级到稳定的新版本(比如20.x+,注意和你的打包工具版本匹配),然后重新打包试试。清理缓存后重新打包
有时候打包缓存会导致配置不生效,删除项目根目录的dist文件夹,再重新运行npm run package。
内容的提问来源于stack exchange,提问作者Christopher Reid
相关产品推荐
相关产品推荐

