# -temp-electron-manager-somiibo 中文文档

规范地址：https://npmcn.com/package/-temp-electron-manager-somiibo/

版本：0\.0\.200
npm 元数据更新时间：2022-10-13T00:56:26.656Z
中文译文更新时间：2026-10-31T09:53:40.822Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/-temp-electron-manager-somiibo
原文对照：https://npmcn.com/package/-temp-electron-manager-somiibo/?lang=original
项目主页：https://itwcreativeworks.com/
源码仓库：https://github.com/itw-creative-works/electron-manager

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：329 kB，61 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=6\.0\.0
- 运行依赖：30 个
- peer 依赖：electron-builder 23\.3\.3，electron-notarize ^1\.2\.1，electron-notarize-dmg ^1\.0\.0，electron-updater 5\.2\.1
- 首次发布：2022-10-13T00:56:26.275Z
- 最新版本发布：2022-10-13T00:56:26.519Z
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install -- -temp-electron-manager-somiibo
```

也可以使用：`pnpm add -- -temp-electron-manager-somiibo`、`yarn add -- -temp-electron-manager-somiibo`、`bun add -- -temp-electron-manager-somiibo`

## README

[![](https://cdn.itwcreativeworks.com/assets/itw-creative-works/images/logo/itw-creative-works-brandmark-black-x.svg)](https://cdn.itwcreativeworks.com/assets/itw-creative-works/images/logo/itw-creative-works-brandmark-black-x.svg)

![](https://img.shields.io/github/package-json/v/itw-creative-works/electron-manager.svg)  
![](https://img.shields.io/librariesio/release/npm/electron-manager.svg) ![](https://img.shields.io/bundlephobia/min/electron-manager.svg) ![](https://img.shields.io/codeclimate/maintainability-percentage/itw-creative-works/electron-manager.svg) ![](https://img.shields.io/npm/dm/electron-manager.svg) ![](https://img.shields.io/node/v/electron-manager.svg) ![](https://img.shields.io/website/https/itwcreativeworks.com.svg) ![](https://img.shields.io/github/license/itw-creative-works/electron-manager.svg) ![](https://img.shields.io/github/contributors/itw-creative-works/electron-manager.svg) ![](https://img.shields.io/github/last-commit/itw-creative-works/electron-manager.svg)  
  
[网站](https://itwcreativeworks.com/) | [NPM模块](https://www.npmjs.com/package/electron-manager) | [GitHub回购](https://github.com/itw-creative-works/electron-manager)  
  
**电子经理** 是电子开发人员的NPM模块，具有工具，帮助函数和实用程序，用于构建完美的电子应用程序🚀

## 安装

使用npm安装：

```shell
npm install electron-manager
```

**注意**：该模块需要电子的对等依赖。所需的版本可以在package.json中找到。

## 功能

-   正确处理一个 **吨** Electron在跨平台情况下所缺乏的东西: `setAsDefaultProtocolClient`， `getApplicationNameForProtocol`， `isDefaultProtocolClient`等等
-   提供一个简单的跨平台方法来设置你的应用 **汽车启动** 启动时 (包括Windows Store和一些Linux发行版)
-   提供了一个简单的跨平台方法来将应用程序设置为 **默认浏览器**

## 示例设置

通过npm安装后，只需 `require` 库并开始享受这个简单的工具🧰。

```js
// 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**.

```js
await Manager.app().setAsDefaultProtocolClient('electron');

// Output: null (for now)
```

### 。app().getApplicationNameForProtocol (协议)

正确获取处理a的应用程序名称 `protocol`。协议必须包括 `://` 就像平常一样。调用 `xdg-settings get default-url-scheme-handler` 在引擎盖下，电子没能做到 **Linux**.

```js
await Manager.app().getApplicationNameForProtocol('electron');

// Output: String
```

### .app()。isDefaultProtocolClient(协议、选项)

正确检查您的应用程序是否为 `protocol`． 调用 `xdg-settings get default-url-scheme-handler` 在引擎盖下，电子没能做到 **Linux**.

```js
await Manager.app().isDefaultProtocolClient('electron');

// Output: Boolean
```

### 。app().setLoginItemSettings(选项)

这就是你如何得到一个 **自动启动** 应用程序!自动添加一个超级有用的标志： `--was-opened-at-login="true"`.

唯一不支持的发行版是 **马来西亚证券监督委员会** 和 **Linux提前**安息。

```js
await Manager.app().setLoginItemSettings({
  openAtLogin: true,
});

// Output: null (for now)
```

### 。app().setAsDefaultBrowser (选项)

正确地将应用设置为每个平台的默认浏览器。是的，即使在 **窗户**！。

```js
await Manager.app().setAsDefaultBrowser();

// Output: null (for now)
```

**注意**如果你想在Windows上做到这一点，你需要以某种方式分发一个名为 [SetUserFTA](http://kolbi.cz/blog/2017/10/25/setuserfta-userchoice-hash-defeated-set-file-type-associations-per-user/) 然后在选项中提供该路径。 `setUserFTAPath`。此选项对其他平台没有影响，因为其他平台更容易工作。

```js
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(选项)

正确返回您的应用是否为任何平台上的默认浏览器。

```js
await Manager.app().isDefaultBrowser();

// Output: Boolean
```

### .app () .wasOpenedAtLogin(选项)

正确返回您的应用程序是否在登录时打开。记住这一点 `--was-opened-at-login="true"` 我们之前打电话时设置的标志 `await Manager.app().setLoginItemSettings()`？ 哇，这是真的 **容易**！。

```js
await Manager.app().wasOpenedAtLogin();

// Output: Boolean
```

**注意**在你实现你的希望之前 _太_ 高,有 **不可能** 设置或得到 `--was-opened-at-login="true"` 标志开启 **Linux** 或者 **Windows商店** 然而。作为补偿，此方法将检查应用程序是否在内部打开 `120` 操作系统启动或用户登录的秒数。因此，最好尽早在应用程序中调用它。

这绝不是一个完美的解决方案，但它会在90% 时间工作。您可以更改 `threshold` 到任何你想要的秒:

```js
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的问题页面](https://github.com/itw-creative-works/electron-manager/issues)。回答包含您的代码和相关文件的问题要容易得多!所以，如果你能提供他们，我们将非常感激 (更可能帮助你找到答案!)

## 使用此库的项目

[Somiibo](https://somiibo.com/)：一个带有开源模块库的社交媒体机器人。  
[JekyllUp](https://jekyllup.com/)：一个专门分享杰基尔主题的网站。  
[拍打形式](https://slapform.com/)用于静态网站HTML表单的后端处理器。  
[片段](https://sniips.com/): 一个现代的，可攻击的片段管理器  
[Proxifly](https://proxifly.com/)：为您的服务获得免费代理的API。  
[Optiic](https://optiic.dev/)：免费的OCR图像处理API。  
[SoundGrail音乐应用](https://app.soundgrail.com/)：制作人、音乐家和dj的资源。  

要求我们列出您的项目!:)

## 其他伟大的图书馆

[节点-powertools](https://www.npmjs.com/package/node-powertools)一个面向后端和前端开发人员的NPM模块，提供强大的实用程序和工具。  
[电子-is-snap](https://www.npmjs.com/package/electron-is-snap): 一个NPM模块，用于检查您的应用程序是否在snap环境中运行  
[optiic](https://www.npmjs.com/package/optiic)： OCR图像处理API。  
[proxifly](https://www.npmjs.com/package/proxifly)：为你的应用寻找代理的API。  
[slapform](https://www.npmjs.com/package/slapform): 表单后端API。

## 常见问题

### -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 和提交记录判断。

