update
This commit is contained in:
24
src/main/rendererTarget.ts
Normal file
24
src/main/rendererTarget.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* 渲染进程入口解析 —— 与 Electron 解耦,方便单测。
|
||||
*
|
||||
* electron-vite 在 dev 模式下会把 dev server 地址写进 process.env.ELECTRON_RENDERER_URL
|
||||
* (形如 http://localhost:5173,无尾斜杠)。多入口项目里,各入口分别位于
|
||||
* `<devUrl>/index.html`、`<devUrl>/floating-pomodoro/index.html` 等。
|
||||
* 历史 bug:dev 分支写死加载 dev server 根目录,导致任何窗口都渲染主界面。
|
||||
*/
|
||||
export type RendererTarget =
|
||||
| { kind: 'url'; url: string }
|
||||
| { kind: 'file'; file: string; query: Record<string, string> | undefined };
|
||||
|
||||
export function resolveRendererTarget(
|
||||
file: string,
|
||||
query?: Record<string, string>,
|
||||
devServerUrl: string | undefined = process.env.ELECTRON_RENDERER_URL
|
||||
): RendererTarget {
|
||||
if (devServerUrl) {
|
||||
const base = devServerUrl.replace(/\/+$/, '');
|
||||
const search = query ? '?' + new URLSearchParams(query).toString() : '';
|
||||
return { kind: 'url', url: `${base}/${file}${search}` };
|
||||
}
|
||||
return { kind: 'file', file, query };
|
||||
}
|
||||
Reference in New Issue
Block a user