55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import { resolve } from 'path'
|
||
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
|
||
import react from '@vitejs/plugin-react'
|
||
|
||
/** Windows 上原生 fs.watch 对部分盘符/杀软常漏事件,用轮询保证 HMR */
|
||
const watchOptions =
|
||
process.platform === 'win32'
|
||
? {
|
||
usePolling: true,
|
||
interval: 150,
|
||
awaitWriteFinish: { stabilityThreshold: 80, pollInterval: 40 }
|
||
}
|
||
: undefined
|
||
|
||
export default defineConfig({
|
||
main: {
|
||
plugins: [externalizeDepsPlugin()],
|
||
resolve: {
|
||
alias: {
|
||
'@main': resolve('src/main'),
|
||
'@shared': resolve('src/shared')
|
||
}
|
||
}
|
||
},
|
||
preload: {
|
||
plugins: [externalizeDepsPlugin()],
|
||
resolve: {
|
||
alias: {
|
||
'@shared': resolve('src/shared')
|
||
}
|
||
}
|
||
},
|
||
renderer: {
|
||
// 绑定 IPv4,避免仅监听 ::1 导致 Electron 用 localhost(127.0.0.1) 连接被拒
|
||
// 注意:不要再写 hmr.port=5173,会另起 WS 占口导致热更新假连上、不推送
|
||
server: {
|
||
host: '127.0.0.1',
|
||
port: 5173,
|
||
strictPort: true,
|
||
...(watchOptions ? { watch: watchOptions } : {}),
|
||
hmr: {
|
||
protocol: 'ws',
|
||
host: '127.0.0.1'
|
||
}
|
||
},
|
||
resolve: {
|
||
alias: {
|
||
'@renderer': resolve('src/renderer/src'),
|
||
'@shared': resolve('src/shared')
|
||
}
|
||
},
|
||
plugins: [react()]
|
||
}
|
||
})
|