[TOC] [https://electronjs.org/docs/api/app](https://electronjs.org/docs/api/app) ## app 模块 ### app.quit() 尝试关闭所有窗口 将首先发出 before-quit 事件 ### app.exit([exitCode]) 立即退出程序并返回 exitCode ### app.setName(name) 设置应用名称 ### app.getName() 应用程序的名称 ### app.getVersion() 应用版本信息 name 与 version 都在package.json 中获取 ### app.getLocale() //"zh-CN"` ### app.getAppPath() 当前应用程序所在目录 ### app.getPath(name) 返回特定端口 name 参数值: * `home`用户的 home 文件夹(主目录) * `appData`当前用户的应用数据文件夹,默认对应: * `%APPDATA%`Windows 中 ,如 "C:\Users\idcpj\AppData\Roaming" * `$XDG_CONFIG_HOME`or`~/.config`Linux 中 * `~/Library/Application Support`macOS 中 * `userData`储存你应用程序设置文件的文件夹,`"C:\Users\idcpj\AppData\Roaming\electron-demo"` * `temp`临时文件夹 `"C:\Users\idcpj\AppData\Local\Temp"` * `exe`当前的可执行文件 `"D:\js\ele_demo\node_modules\electron\dist\electron.exe"` * `module`The`libchromiumcontent`库 * `desktop`当前用户的桌面文件夹 `"C:\Users\idcpj\Desktop"` * `documents`用户文档目录的路径 `"C:\Users\idcpj\Documents"` * `downloads`用户下载目录的路径 * `music`用户音乐目录的路径 * `pictures`用户图片目录的路径 * `videos`用户视频目录的路径 * `logs`应用程序的日志文件夹 `"C:\Users\idcpj\AppData\Roaming\Electron\logs"` * `pepperFlashSystemPlugin`Pepper Flash 插件的系统版本的完成路径 ### app.setAsDefaultProtocolClient(protocol[, path, args]) * `protocol`String - 协议的名称, 不包含`://`。 如果您希望应用程序处理`electron://`的链接, 请将`electron`作为该方法的参数. * `path`String (可选)*Windows*\-默认为`process.execPath` * `args`String[](https://electronjs.org/docs/api/%E5%8F%AF%E9%80%89)*Windows*\- 默认为空数组 ### app.setJumpList(categories) 设置任务列表 ### app.requestSingleInstanceLock() 只允许一个实例 ``` const { app } = require('electron') let myWindow = null const gotTheLock = app.requestSingleInstanceLock() if (!gotTheLock) { app.quit() } else { app.on('second-instance', (event, commandLine, workingDirectory) => { // 当运行第二个实例时,将会聚焦到myWindow这个窗口 if (myWindow) { if (myWindow.isMinimized()) myWindow.restore() myWindow.focus() } }) // 创建 myWindow, 加载应用的其余部分, etc... app.on('ready', () => { }) } ```