项目启动的时候默认会输出服务地址
但是却没有找到方法直接获取Network
dev server running for the electron renderer process at:
➜ Local: http://localhost:5606/
➜ Network: http://192.168.1.72:5606/
start electron app...
electron.vite.config.mjs
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()]
}),
Components({
resolvers: [ElementPlusResolver()]
}),
{
name: 'vite-plugin-electron-network-url',
configureServer(server) {
server.httpServer?.on('listening', () => {
const address = server.httpServer?.address()
const localIP = getLocalIPv4()
const networkURL = `http://${localIP}:${address.port}`
console.log('vite Network URL:', networkURL)
// 将 Network URL 传递给 Electron 主进程
process.env.ELECTRON_NETWORK_URL = networkURL
})
}
}
],
// 获取本机 IPv4 地址
function getLocalIPv4() {
const interfaces = os.networkInterfaces()
for (const devName of Object.keys(interfaces)) {
const iface = interfaces[devName]
for (const addr of iface) {
if (addr.family === 'IPv4' && !addr.internal) {
return addr.address
}
}
}
return 'localhost' // 如果找不到,使用 localhost
}
main/index.js
if (is.dev && process.env['ELECTRON_NETWORK_URL']) {
// console.log("🚢 ~ 当前打印的内容 ~ process.env:", process.env);
const networkURL = process.env.ELECTRON_NETWORK_URL
console.log("🚢 ~ 当前打印的内容 ~ networkURL:", networkURL);
// 开发模式下加载远程 URL
mainWindow.loadURL(process.env['ELECTRON_NETWORK_URL'])
}
大佬们有更简单的方法也可以说一下