diff --git a/src/cli.ts b/src/cli.ts index 7a5ad39..6b39d3d 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -60,7 +60,8 @@ cli .alias('dev') .option('-w, --watch', `[boolean] rebuilds when main process or preload script modules have changed on disk`) .option('--remoteDebuggingPort ', `[string] port for remote debugging`) - .action(async (root: string, options: { remoteDebuggingPort?: string } & GlobalCLIOptions) => { + .option('--rendererOnly', `[boolean] only dev server for the renderer`) + .action(async (root: string, options: { remoteDebuggingPort?: string; rendererOnly: boolean } & GlobalCLIOptions) => { if (options.remoteDebuggingPort) { process.env.REMOTE_DEBUGGING_PORT = options.remoteDebuggingPort } @@ -69,7 +70,7 @@ cli const inlineConfig = createInlineConfig(root, options) try { - await createServer(inlineConfig) + await createServer(inlineConfig, { rendererOnly: options.rendererOnly }) } catch (e) { const error = e as Error createLogger(options.logLevel).error( diff --git a/src/server.ts b/src/server.ts index 7cb0150..896f172 100644 --- a/src/server.ts +++ b/src/server.ts @@ -12,7 +12,10 @@ import { type InlineConfig, resolveConfig } from './config' import { resolveHostname } from './utils' import { startElectron } from './electron' -export async function createServer(inlineConfig: InlineConfig = {}): Promise { +export async function createServer( + inlineConfig: InlineConfig = {}, + options: { rendererOnly?: boolean } +): Promise { process.env.NODE_ENV_ELECTRON_VITE = 'development' const config = await resolveConfig(inlineConfig, 'serve', 'development') if (config.config) { @@ -22,7 +25,7 @@ export async function createServer(inlineConfig: InlineConfig = {}): Promise { logger.info(colors.green(`\nrebuild the electron main process successfully`)) @@ -43,7 +46,7 @@ export async function createServer(inlineConfig: InlineConfig = {}): Promise { @@ -61,6 +64,14 @@ export async function createServer(inlineConfig: InlineConfig = {}): Promise