Merge pull request #6 from Beiluola/fix-host-true

fix: ELECTRON_RENDERER_URL is incorrect
This commit is contained in:
alex.wei 2022-06-20 10:34:56 +08:00 committed by GitHub
commit e35552b4b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View file

@ -2,7 +2,7 @@ import { spawn } from 'child_process'
import { createServer as ViteCreateServer, build as viteBuild, createLogger } from 'vite' import { createServer as ViteCreateServer, build as viteBuild, createLogger } from 'vite'
import colors from 'picocolors' import colors from 'picocolors'
import { InlineConfig, resolveConfig } from './config' import { InlineConfig, resolveConfig } from './config'
import { ensureElectronEntryFile, getElectronPath } from './utils' import { ensureElectronEntryFile, getElectronPath, resolveHostname } from './utils'
export async function createServer(inlineConfig: InlineConfig = {}): Promise<void> { export async function createServer(inlineConfig: InlineConfig = {}): Promise<void> {
const config = await resolveConfig(inlineConfig, 'serve', 'development') const config = await resolveConfig(inlineConfig, 'serve', 'development')
@ -39,7 +39,7 @@ export async function createServer(inlineConfig: InlineConfig = {}): Promise<voi
const conf = server.config.server const conf = server.config.server
const protocol = conf.https ? 'https:' : 'http:' const protocol = conf.https ? 'https:' : 'http:'
const host = conf.host || 'localhost' const host = resolveHostname(conf.host)
const port = conf.port const port = conf.port
process.env.ELECTRON_RENDERER_URL = `${protocol}//${host}:${port}` process.env.ELECTRON_RENDERER_URL = `${protocol}//${host}:${port}`

View file

@ -37,3 +37,9 @@ export function getElectronPath(): string {
throw new Error('Electron uninstall') throw new Error('Electron uninstall')
} }
} }
export const wildcardHosts = new Set(['0.0.0.0', '::', '0000:0000:0000:0000:0000:0000:0000:0000'])
export function resolveHostname(optionsHost: string | boolean | undefined): string {
return typeof optionsHost === 'string' && !wildcardHosts.has(optionsHost) ? optionsHost : 'localhost'
}