更新electron到28.2.10,修复开发模式重启electron进程时偶现旧进程残留的问题

This commit is contained in:
lyswhut
2024-04-05 13:10:45 +08:00
parent e60c2f5f19
commit bfd2ecd26c
23 changed files with 278 additions and 219 deletions
+10 -14
View File
@@ -16,9 +16,10 @@ const rendererLyricConfig = require('./renderer-lyric/webpack.config.dev')
const rendererScriptConfig = require('./renderer-scripts/webpack.config.dev')
const { Arch } = require('electron-builder')
const replaceLib = require('./build-before-pack')
const treeKill = require('tree-kill')
const { debounce } = require('./utils')
let electronProcess = null
let manualRestart = false
let hotMiddlewareRenderer
let hotMiddlewareRendererLyric
@@ -135,6 +136,7 @@ function startMain() {
return new Promise((resolve, reject) => {
// mainConfig.entry.main = [path.join(__dirname, '../src/main/index.dev.js')].concat(mainConfig.entry.main)
// mainConfig.mode = 'development'
const runElectronDelay = debounce(startElectron, 200)
const compiler = webpack(mainConfig)
compiler.hooks.watchRun.tapAsync('watch-run', (compilation, done) => {
@@ -146,23 +148,17 @@ function startMain() {
compiler.watch({}, (err, stats) => {
if (err) {
console.log(err)
reject(err)
return
}
// logStats('Main', stats)
if (electronProcess && electronProcess.kill) {
manualRestart = true
process.kill(electronProcess.pid)
electronProcess = null
startElectron()
setTimeout(() => {
manualRestart = false
}, 5000)
}
resolve()
if (electronProcess) {
electronProcess.removeAllListeners()
treeKill(electronProcess.pid)
}
runElectronDelay()
})
})
}
@@ -191,7 +187,7 @@ function startElectron() {
})
electronProcess.on('close', () => {
if (!manualRestart) process.exit()
process.exit()
})
}