-temp-electron-manager-somiibo

中文文档
0.0.200发布于 2022/10/13MITCommonJS

一个NPM模块,包含工具、辅助函数和实用程序,用于构建一个完美的电子应用🚀

中文使用文档
文档目录19 节
  1. 安装
  2. 功能
  3. 示例设置
  4. 选项
  5. 属性
  6. .应用()库
  7. 。app().setAsDefaultProtocolClient(协议, 选项)
  8. 。app().getApplicationNameForProtocol (协议)
  9. .app()。isDefaultProtocolClient(协议、选项)
  10. 。app().setLoginItemSettings(选项)
  11. 。app().setAsDefaultBrowser (选项)
  12. .app () .isDefaultBrowser(选项)
  13. .app () .wasOpenedAtLogin(选项)
  14. 默认的DOM操作
  15. 应用程序参数
  16. 其他库和特性
  17. 最后的话
  18. 使用此库的项目
  19. 其他伟大的图书馆




网站 | 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.json
  • app-id-element:设置为 name 在 package.json
  • current-version-element:设置为 version 在 package.json
  • current-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。

版本与发布记录

-temp-electron-manager-somiibo 共发布 1 个版本,首次发布于 2022/10/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.0.200latest2022/10/134 年前

关于 -temp-electron-manager-somiibo 的常见问题

-temp-electron-manager-somiibo 是什么?

一个NPM模块,包含工具、辅助函数和实用程序,用于构建一个完美的电子应用🚀

如何安装 -temp-electron-manager-somiibo?

在项目目录运行 npm install -- -temp-electron-manager-somiibo,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:electron-builder(23.3.3)、electron-notarize(^1.2.1)、electron-notarize-dmg(^1.0.0)、electron-updater(5.2.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 electron-manager、electronmanager、eman,可以用 npx electron-manager 直接运行。

-temp-electron-manager-somiibo 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/-temp-electron-manager-somiibo 是否存在。

-temp-electron-manager-somiibo 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

-temp-electron-manager-somiibo 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=6.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

-temp-electron-manager-somiibo 可以商用吗?

-temp-electron-manager-somiibo 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

-temp-electron-manager-somiibo 还在维护吗?

最新版本 0.0.200 发布于 2022/10/13(4 年前);至今共发布 1 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/10/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。