Skip to content

简介

ee-core 的完整 TypeScript 类型定义。所有公共接口和配置类型集中在此处,供框架模块和业务代码引用以确保类型安全。这些类型也通过 export type 从主 ee-core 入口导出。

导入

javascript
// ESM(仅类型导入)
import type { ElectronEggOptions, Config } from 'ee-core/types';
import type { ElectronEggOptions, Config } from 'ee-core';

// CJS(仅类型,运行时通过 ts-ignore)
// TypeScript 类型在 CJS 运行时不可用
// 使用 JSDoc 或 .d.ts 文件进行类型标注

App 类型

ElectronEggOptions

框架启动选项,在初始化期间构建。值在整个应用生命周期中不变。

字段类型说明
envstring运行环境('dev''prod''test'
baseDirstring项目根目录
electronDirstringElectron 源码目录
appNamestring来自 package.json 的应用名称
userHomestring用户主目录(os.homedir()
appDatastring系统应用数据目录
appUserDatastringElectron 用户数据目录(appData/appName
appVersionstring来自 package.json 的应用版本
isPackagedboolean是否已打包为安装程序
execDirstring可执行文件目录

AppInfo

应用元数据,作为参数传递给配置函数。

字段类型说明
namestring应用名称
baseDirstring项目根目录
electronDirstringElectron 源码目录
envstring运行环境
rootstring日志/数据根目录(通常为 appUserData

示例

javascript
// config.default.js
module.exports = (appInfo) => {
  const config = {};
  config.logger.dir = path.join(appInfo.root, 'logs');
  return config;
};

参见config


Config 类型

Config

框架主配置接口。config.default.js 导出对象的类型定义。

字段类型说明
[key: string]unknown用户自定义配置的动态属性
openDevToolsboolean | OpenDevToolsOptionsDevTools 配置
singleLockboolean单实例锁
windowsOptionBrowserWindowConstructorOptionsBrowserWindow 构造选项
loggerLoggerConfig日志器配置
socketServerSocketServerConfigSocket.IO 配置
httpServerHttpServerConfigHTTP 服务配置
remoteRemoteConfig远程服务配置
mainServerMainServerConfig主窗口服务配置
exceptionExceptionConfig异常处理配置
jobsJobsConfig后台任务配置
crossCrossConfig跨进程配置

参见config

RemoteConfig

字段类型说明
enableboolean是否启用远程服务
urlstring远程服务地址

MainServerConfig

字段类型说明
protocolstring'file://' 加载本地文件,'http://'/'https://' 加载远程
indexPathstring入口文件/URL 路径
optionsRecord<string, unknown>协议处理的额外选项
takeoverstring加载策略:'start''ready'
loadingPagestring启动屏的预加载页面路径
channelSeparatorstringIPC 通道分隔符,默认 '/'

SocketServerConfig

字段类型说明
enableboolean是否启用 Socket 服务
portnumber监听端口
pathstringSocket.IO 路径
connectTimeoutnumber连接超时(毫秒)
pingTimeoutnumber心跳超时(毫秒)
pingIntervalnumber心跳间隔(毫秒)
maxHttpBufferSizenumber最大 HTTP 消息体字节数
transports('polling' | 'websocket')[]传输列表
corsobjectCORS 配置
channelstring自定义通信通道名

HttpsConfig

字段类型说明
enableboolean是否启用 HTTPS
keystringSSL 私钥文件路径
certstringSSL 证书文件路径

HttpServerConfig

字段类型说明
enableboolean是否启用 HTTP 服务
httpsHttpsConfigHTTPS 证书配置
protocolstring'http''https'
hoststring监听主机,默认 '127.0.0.1'
portnumber监听端口
cors{ origin: string }CORS 配置
bodyobject请求体解析配置
filterRequest{ uris: string[], returnData: string }请求过滤配置
koaConfigKoaConfigKoa 中间件扩展

KoaConfig

字段类型说明
preMiddlewareFunction[]前置中间件列表
postMiddlewareFunction[]后置中间件列表
errorHandlerFunction | null自定义错误处理器

LoggerConfig

字段类型说明
dirstring日志文件目录(默认:appUserData/logs
levelstring最低日志级别
prettyPrintboolean启用 pino-pretty(仅开发环境)
dateFormatstring时间戳日期格式
appLogNamestring应用日志文件名
coreLogNamestring核心日志文件名
errorLogNamestring错误日志文件名
rotatorstring轮转周期('daily''hourly'
redactstring[]要脱敏的字段
redactCensorstring | Function脱敏替换内容
timestampboolean包含时间戳
timezonestringIANA 时区(默认 'UTC'
namestring日志器名称
maxSizenumber | string单个日志文件最大大小
serializersobject自定义序列化器
customLevelsobject自定义级别映射
depthLimitnumber对象序列化深度限制
safeboolean安全模式(写入失败时不抛异常)
enabledboolean启用/禁用日志

ExceptionConfig

字段类型说明
mainExitboolean主进程异常是否退出应用
childExitboolean子进程退出是否终止主进程
rendererExitboolean渲染进程退出策略

JobsConfig

字段类型说明
messageLogboolean记录子进程 IPC 消息

CrossTargetConfig

字段类型说明
namestring目标进程标识
enableboolean是否启用
argsstring[]命令行参数
cmdstring启动命令
directorystring工作目录
windowsExtnamebooleanWindows 上自动添加 .exe
stdiostring[]子进程 stdio 配置
appExitboolean子进程退出时是否退出主进程
portnumber子进程 HTTP 端口
urlstring子进程服务 URL

CrossConfig

动态键映射,每个值为 CrossTargetConfig

typescript
interface CrossConfig {
  [key: string]: CrossTargetConfig;
}

Jobs 类型

JobChildOptions

字段类型说明
namestring任务名标识
scriptstring子进程入口脚本路径
argsstring[]命令行参数
envProcessEnv子进程环境变量
portnumberHTTP 服务端口

ChildPoolOptions

字段类型说明
weightsnumber[]池成员权重配置

LoadBalancerTarget

字段类型说明
idstring | number目标标识
weightnumber权重值

LoadBalancerOptions

字段类型说明
targetsLoadBalancerTarget[]目标列表
algorithmstring算法名

AlgorithmType

说明
polling'polling'轮询
weights'weights'加权轮询
random'random'随机选择
specify'specify'指定目标
weightsPolling'weightsPolling'平滑加权轮询
weightsRandom'weightsRandom'加权随机
minimumConnection'minimumConnection'最小连接数
weightsMinimumConnection'weightsMinimumConnection'加权最小连接数

JobProcessOptions

字段类型说明
processArgsRecord<string, unknown>child_process.fork 的参数
processOptionsForkOptionsFork 选项
[key: string]unknown自定义属性

Dev 类型

DevConfig

字段类型说明
frontendDevFrontendConfig前端开发配置
electronDevElectronConfigElectron 开发配置

DevFrontendConfig

字段类型说明
directorystring前端目录
cmdstring命令
argsstring[]参数
protocolstring前端协议
hostnamestring主机名
portnumber端口
indexPathstring首页
forceboolean强制刷新
syncboolean同步模式

DevElectronConfig

字段类型说明
directorystring目录
cmdstring命令
argsstring[]参数
loadingPagestring加载页面路径
watchboolean监听模式
syncboolean同步模式
delaynumber去抖延迟(毫秒)

Loader 类型

FileLoaderOptions

字段类型说明
caseStyle'lower' | 'upper' | 'camel' | Function属性命名风格。'lower' = 首字母小写(控制器)
directorystring要扫描的目录路径
initializerFunction | null文件导出的自定义初始化器
callboolean自动调用函数类型导出
overrideboolean覆盖同名属性
injectunknown自动调用函数的注入参数
matchstring | string[] | Function文件匹配模式
ignorestring | string[] | Function文件忽略模式
registryRegistryEntry[]预注册条目(bundle 模式)

RegistryEntry

字段类型说明
fullpathstring完整文件路径
propertiesstring[]从文件路径生成的属性路径数组
moduleunknown懒加载模块

TimingItem

字段类型说明
namestring阶段名称
startnumber开始时间(毫秒)
endnumber | undefined结束时间(毫秒)
durationnumber | undefined持续时间(毫秒)
pidnumber进程 PID
indexnumber执行顺序索引

Message 类型

MessageData

字段类型说明
channelstring通信通道标识
eventstring事件名
dataunknown消息载荷

ProcessExitEventData

字段类型说明
pidnumber | undefined已退出进程的 PID

Utils 类型

ExtendOptions

字段类型说明
deepboolean是否深度合并

JsonWriteOptions

字段类型说明
spacenumber缩进空格数(默认:2)
replacerFunctionJSON.stringify replacer

GetPortOptions

字段类型说明
portnumber | number[]首选端口或范围
hoststring绑定主机地址

Cross 类型

CrossRunOptions

Partial<CrossTargetConfig> — 运行跨进程服务时的选项。

CrossProcessOptions

字段类型说明
targetConfCrossTargetConfig目标配置
portnumber分配的端口

CrossHost

字段类型说明
emitterEventEmitter | undefined事件发射器

Log 类型

EeLogger

统一日志接口(基于 Pino)。

typescript
interface EeLogger {
  trace(msg: string, ...args: unknown[]): void;
  debug(msg: string, ...args: unknown[]): void;
  info(msg: string, ...args: unknown[]): void;
  warn(msg: string, ...args: unknown[]): void;
  error(msg: string, ...args: unknown[]): void;
  fatal(msg: string, ...args: unknown[]): void;
  child(bindings: Record<string, unknown>): EeLogger;
}

PinoLoggers

字段类型说明
loggerpino.Logger应用日志器实例
coreLoggerpino.Logger框架核心日志器
errorLoggerpino.Logger仅错误日志器