app 模块
最后更新于:2022-04-02 03:34:13
[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', () => {
})
}
```
';