网站 | NPM模块 | GitHub回购
电子经理 是电子开发人员的NPM模块,具有工具,帮助函数和实用程序,用于构建完美的电子应用程序🚀
安装
使用npm安装:
npm install electron-manager
注意:该模块需要电子的对等依赖。所需的版本可以在package.json中找到。
功能
- 正确处理一个 吨 Electron在跨平台情况下所缺乏的东西:
setAsDefaultProtocolClient,getApplicationNameForProtocol,isDefaultProtocolClient等等 - 提供一个简单的跨平台方法来设置你的应用 汽车启动 启动时 (包括Windows Store和一些Linux发行版)
- 提供了一个简单的跨平台方法来将应用程序设置为 默认浏览器
示例设置
通过npm安装后,只需 require 库并开始享受这个简单的工具🧰。
// In your main.js file
const Manager = new (require('electron-manager'))({
appName: 'Electron',
appId: 'electron',
})
选项
appName: 这应该是您的应用程序的名称以及最终用户将看到的内容,例如Electron.- 这个
appName是用来打开/打开东西的吗 窗户 所以它应该是Applications\\*.exe文件名为。
- 这个
appId:这应该是你的应用程序的id,如electron.- 这个
appId用于获取/设置协议 Linux 所以它应该是*.desktop文件名。
- 这个
属性
environment: 可以是任一个development或者production(使用electron-is-dev)。isLinux:如果你的应用运行在 Linux.isSnap: 如果您的应用程序作为 Linux提前 (使用electron-is-snap)。storeName: 可以是任一个mac,windows,snap,或者none.
.应用()库
这个库几乎可以替代Electron的某些方法。 app API。您不需要使用这些和原始API,因为这些方法可以替换现有方法。
。app().setAsDefaultProtocolClient(协议, 选项)
正确地将你的应用设置为a的默认处理程序 protocol. 调用 xdg-mime default 和 xdg-settings set 在引擎盖下,电子没能做到 Linux.
await Manager.app().setAsDefaultProtocolClient('electron');
// Output: null (for now)
。app().getApplicationNameForProtocol (协议)
正确获取处理a的应用程序名称 protocol。协议必须包括 :// 就像平常一样。调用 xdg-settings get default-url-scheme-handler 在引擎盖下,电子没能做到 Linux.
await Manager.app().getApplicationNameForProtocol('electron');
// Output: String
.app()。isDefaultProtocolClient(协议、选项)
正确检查您的应用程序是否为 protocol. 调用 xdg-settings get default-url-scheme-handler 在引擎盖下,电子没能做到 Linux.
await Manager.app().isDefaultProtocolClient('electron');
// Output: Boolean
。app().setLoginItemSettings(选项)
这就是你如何得到一个 自动启动 应用程序!自动添加一个超级有用的标志: --was-opened-at-login="true".
唯一不支持的发行版是 马来西亚证券监督委员会 和 Linux提前安息。
await Manager.app().setLoginItemSettings({
openAtLogin: true,
});
// Output: null (for now)
。app().setAsDefaultBrowser (选项)
正确地将应用设置为每个平台的默认浏览器。是的,即使在 窗户!。
await Manager.app().setAsDefaultBrowser();
// Output: null (for now)
注意如果你想在Windows上做到这一点,你需要以某种方式分发一个名为 SetUserFTA 然后在选项中提供该路径。 setUserFTAPath。此选项对其他平台没有影响,因为其他平台更容易工作。
const { app } = require('electron');
const path = require('path');
const appDataPath = path.resolve(app.getPath('appData'), 'set-user-fta.exe')
await Manager.app().setAsDefaultBrowser({
setUserFTAPath: appDataPath,
});
// Output: null (for now)
.app () .isDefaultBrowser(选项)
正确返回您的应用是否为任何平台上的默认浏览器。
await Manager.app().isDefaultBrowser();
// Output: Boolean
.app () .wasOpenedAtLogin(选项)
正确返回您的应用程序是否在登录时打开。记住这一点 --was-opened-at-login="true" 我们之前打电话时设置的标志 await Manager.app().setLoginItemSettings()? 哇,这是真的 容易!。
await Manager.app().wasOpenedAtLogin();
// Output: Boolean
注意在你实现你的希望之前 太 高,有 不可能 设置或得到 --was-opened-at-login="true" 标志开启 Linux 或者 Windows商店 然而。作为补偿,此方法将检查应用程序是否在内部打开 120 操作系统启动或用户登录的秒数。因此,最好尽早在应用程序中调用它。
这绝不是一个完美的解决方案,但它会在90% 时间工作。您可以更改 threshold 到任何你想要的秒:
await Manager.app().wasOpenedAtLogin({
threshold: 60, // Don't go too low (most people have slow-ass computers)
});
// Output: Boolean
默认的DOM操作
brand-name-element:设置为productName在package.jsonapp-id-element:设置为name在package.jsoncurrent-version-element:设置为version在package.jsoncurrent-year-element:设置为 当年manager-initialized-element:删除时ElectronManager完成初始化。upgrade-account-btn: 启用,如果user.plan.id= = =basic
应用程序参数
使用如下参数 npm start -- --name="value" 测试和简化你的开发
--useDevelopmentURLs="true"(true):将使用localhost:4000而不是实时url- 可以
true或者false
- 可以
--enableLiveSentry="false"(false): 实际上会向Sentry发送错误,如果true- 可以
true或者false
- 可以
--was-opened-at-login="false"(false): 更改 电子经理如果应用程序在登录时被打开,处理的行为。- 可以
true或者false
- 可以
--devUpdateStatus="available"(available): 更改electron-updater流动。- 可以
available,unavailable,或者error
- 可以
其他库和特性
这仅仅是个开始。更强大的功能和修复将很快推出
最后的话
如果你仍然有困难,我们希望你能发帖提问 电子是Snap的问题页面。回答包含您的代码和相关文件的问题要容易得多!所以,如果你能提供他们,我们将非常感激 (更可能帮助你找到答案!)
使用此库的项目
Somiibo:一个带有开源模块库的社交媒体机器人。
JekyllUp:一个专门分享杰基尔主题的网站。
拍打形式用于静态网站HTML表单的后端处理器。
片段: 一个现代的,可攻击的片段管理器
Proxifly:为您的服务获得免费代理的API。
Optiic:免费的OCR图像处理API。
SoundGrail音乐应用:制作人、音乐家和dj的资源。
要求我们列出您的项目!:)
其他伟大的图书馆
节点-powertools一个面向后端和前端开发人员的NPM模块,提供强大的实用程序和工具。
电子-is-snap: 一个NPM模块,用于检查您的应用程序是否在snap环境中运行
optiic: OCR图像处理API。
proxifly:为你的应用寻找代理的API。
slapform: 表单后端API。