基础config文件
# 位置./electron/config/# 说明config.default.js // 默认配置文件,开发环境和生产环境都会加载config.local.js // 开发环境配置文件,追加和覆盖default配置文件config.prod.js // 生产环境配置文件,追加和覆盖default配置文件encrypt.js // 代码加密的配置nodemon.json // 开发环境,代码(监控)热加载
参数:appInfo 对象
- name 应用名称
- baseDir 框架中electron目录路径,如果使用加密功能,打包后路径为 ./public/electron
- env 环境变量,local-本地,prod-生产环境
- home APP根目录路径
- root APP在操作系统中的数据目录,根据环境变量而变化
- appUserDataDir APP在操作系统中的数据目录,与环境变量无关
- userHome 操作系统用户的home目录
- appVersion APP版本号
- isPackaged APP是否已经打包
- execDir APP安装后,可执行程序(exe、dmg、dep)的根目录
属性说明
开发模式配置
config.developmentMode = {default: 'vue',mode: {vue: {hostname: 'localhost',port: 8080},react: {hostname: 'localhost',port: 3000},html: {hostname: 'localhost',indexPage: 'index.html' // 首页},}};
开发者工具
config.openDevTools = false;
应用程序顶部菜单
* boolean | string* true, false, 'dev-show'(dev环境显示,prod环境隐藏)config.openAppMenu = true;
加载loading页 (废弃)
# ee-core@1.2.6版本废弃config.loadingPage = true;# 页面路径,可自行修改./public/html/loading.html
主窗口
// 更多属性,见文档:https://www.electronjs.org/zh/docs/latest/api/browser-window#new-browserwindowoptionsconfig.windowsOption = {width: 980, // 软件窗口宽度height: 650, // 软件窗口高度minWidth: 800, // 软件窗口最小宽度minHeight: 650, // 软件窗口最小高度webPreferences: {//webSecurity: false, // 如果需要跨域,请打开contextIsolation: false, // 设置此项为false后,才可在渲染进程中使用electron apinodeIntegration: true, // node模块},frame: true,show: true,};
ee框架日志
config.logger = {appLogName: `ee-${dayjs().format('YYYY-MM-DD')}.log`,errorLogName: `ee-error-${dayjs().format('YYYY-MM-DD')}.log`}
远程web地址 (可选)
config.remoteUrl = {enable: false, // 是否启用url: 'https://discuz.chat/' // Any web url};
内置socket服务
# 第三方软件,可通过socket-client监听端口,与ee框架通信config.socketServer = {enable: false, // 是否启用port: 7070, // 默认端口isDynamic: false, // 如果值为false,框架默认使用port端口(如果默认端口被使用,则随机获取一个);如果为true,默认端口无效,框架随机生成path: "/socket.io/", // 默认路径名称connectTimeout: 45000, // 客户端连接超时时间pingTimeout: 30000, // 心跳检测超时时间pingInterval: 25000, // 心跳检测间隔maxHttpBufferSize: 1e8, // 每条消息的数据最大值 1Mtransports: ["polling", "websocket"], // http轮询和websocketcors: {origin: true, // http协议时,要设置允许跨域}};
内置http服务
# 可在前端、浏览器、终端命令中,访问EE程序config.httpServer = {enable: false, // 是否启用https: {enable: false,key: '/public/ssl/localhost+1.key', // key文件cert: '/public/ssl/localhost+1.pem' // cert文件},port: 7071, // 默认端口(如果端口被使用,则随机获取一个)cors: {origin: "*" // 跨域},body: {multipart: true,formidable: {keepExtensions: true}},filterRequest: {uris: ['favicon.ico' // 要过滤的请求uri],returnData: '' // 任意数据类型}};
主进程
config.mainServer = {host: '127.0.0.1',port: 7072, // 默认端口(如果端口被使用,则随机获取一个)options: {} // https://www.electronjs.org/zh/docs/latest/api/browser-window#winloadurlurl-options};
应用自动升级 (可选)
config.autoUpdate = {windows: false, // windows平台macOS: false, // macOs 需要签名验证linux: false, // linux平台options: {provider: 'generic', // or github, s3, bintrayurl: 'http://kodo.qiniu.com/' // resource dir, end with '/'},force: false, // 强制更新(运行软件时,检查新版本并后台下载安装)};
被浏览器唤醒 (可选)
config.awakeProtocol = {protocol: 'ee', // 自定义协议名(默认你的应用名称-英文)args: []};
托盘 (可选)
config.tray = {title: 'EE程序', // 托盘显示标题icon: '/public/images/tray_logo.png' // 托盘图标}
加密配置
./config/encrypt.js
详情见:代码加密
