# @foblex/platform 中文文档

规范地址：https://npmcn.com/package/%40foblex/platform/

版本：1\.0\.4
npm 元数据更新时间：2024-09-25T11:49:04.904Z
中文译文更新时间：2026-11-15T03:44:24.988Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40foblex/platform
原文对照：https://npmcn.com/package/%40foblex/platform/?lang=original
项目主页：https://github.com/siarheihuzarevich/f-platform#readme
源码仓库：https://github.com/siarheihuzarevich/f-platform

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

- 包体积（解压后）：83.5 kB，37 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：@angular/common \>=12\.0\.0，@angular/core \>=12\.0\.0
- 首次发布：2024-09-11T11:56:48.488Z
- 最新版本发布：2024-09-25T11:49:04.725Z
- 近 30 天下载量：354201（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

Angular 库为支持服务器侧渲染(SSR)和其他特性提供一套服务.

## 安装

```sh
npm install @foblex/platform
```

也可以使用：`pnpm add @foblex/platform`、`yarn add @foblex/platform`、`bun add @foblex/platform`

## README

# 角平台浏览器工具库( B)

这个Angular库提供一套服务来协助平台检测,服务器侧渲染(SSR)支持,以及浏览器的公用功能. 库提供确定浏览器和操作系统细节的服务,管理窗口和本地Storage等特定浏览器对象,并配合DOM相关的任务,如将单元转换为像素等.

## 特征

-   **平台检测**:检测浏览器类型(如Edge,Firefox,Safari等)和操作系统(如Windows,MacOS,iOS,Android等).
    
-   **服务器- Side 渲染( SSR) 兼容性**:为安全部门改革环境提供模拟实施窗口和本地Storage.
    
-   **浏览器服务**: 用于与窗口、文档交互和将 CSS 单元转换为像素的设备.
    

## 安装

要在您的 Angular 项目中安装库, 请运行 :

```bash
npm install @foblex/platform
```

## 使用量

### 平台服务

平台服务允许您检测浏览器,操作系统,以及其他与平台相关的属性.

#### 示例

```typescript
import { PlatformService } from '@foblex/platform';

@Component({
  selector: 'app-root',
  template: `<h1>Platform Detection</h1>`
})
export class AppComponent {
  constructor(private platformService: PlatformService) {
    console.log('Is Browser:', this.platformService.isBrowser);
    console.log('Operating System:', this.platformService.getOS());
  }
}
```

### 浏览器服务器

浏览器Service提供了浏览器相关对象如窗口,本地Storage,和文档的方便访问. 它包括一种将各种 CSS 单元转换为像素值的效用方法.

#### 示例

```typescript
import { BrowserService } from '@foblex/platform';

@Component({
  selector: 'app-root',
  template: `<h1>Browser Utilities</h1>`
})
export class AppComponent {
  constructor(private browserService: BrowserService) {
    console.log('Document Title:', this.browserService.getTitle());
    console.log('Pixels from 50%:', this.browserService.toPixels('50%', 800, 600, '16px'));
  }

  setTitle(title: string): void {
    this.browserService.setTitle(title);
  }
}
```

### 窗口定位喷出键( L)

此库提供可被注入的令牌(F WINDOW和F LOCAL STORAGE),可以将取去的窗口和本地Storage同时用于浏览器和服务器侧环境.

#### 示例

```typescript
import { Component, Inject } from '@angular/core';
import { F_WINDOW, F_LOCAL_STORAGE } from '@foblex/platform';

@Component({
  selector: 'app-root',
  template: `<h1>SSR Safe Window & LocalStorage</h1>`
})
export class AppComponent {
  constructor(
    @Inject(F_WINDOW) private windowService: WindowService,
    @Inject(F_LOCAL_STORAGE) private localStorageService: LocalStorageService
  ) {
    console.log('Window Inner Width:', this.windowService.innerWidth);
    this.localStorageService.setItem('key', 'value');
  }
}
```

## API 密码

### 平台服务

-   是浏览器: boolean - 确定当前平台是否为浏览器 .
-   EDGE:布尔 -- -- 探测微软边缘浏览器.
-   TRIDENT:布尔 -- -- 探测因特网探测器(三叉戟引擎).
-   BLINK:布尔 -- -- 探测出Brink引擎(由Chrome使用).
-   WEBKIT:布尔-探测WebKit引擎(被Safari所使用).
-   IOS:布尔-探测iOS设备.
-   布尔 -- -- 检测出莫兹拉火狐.
-   布尔 -- -- 探测到安卓装置.
-   布尔 -- -- 探测到Safari浏览器.
-   getOS (): EOperationSystem QQ未定义 - 返回操作系统.

### 浏览器服务器

-   窗口: IWindow Service - 提供窗口或服务器安全模型的访问权限.
-   localStorage: I LocalStorage - 提供访问localStorage或服务器安全模拟器的功能.
-   文档:文档 - 提供对文档对象的访问.
-   toPixels(值:字符串,客户端Width:数字,客户端H8:数字,字体Size:字符串):数字-将CSS单位(%,em,rem,vh,vw)转换为像素.

### 窗口注入键( F WINDOW)

注入窗口对象或服务器安全模拟窗口.

### 局部注入键( F LOCAL STORAGE)

注入本地Storage对象或服务器安全模拟本地Storage.

## 许可证

[MIT 许可证](https://npmcn.com/package/%40foblex/platform/LICENSE)

## 常见问题

### @foblex/platform 是什么？

Angular 库为支持服务器侧渲染\(SSR\)和其他特性提供一套服务\.

### 如何安装 @foblex/platform？

在项目目录运行 npm install @foblex/platform，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@angular/common（\>=12\.0\.0）、@angular/core（\>=12\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @foblex/platform 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @foblex/platform 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @foblex/platform 可以商用吗？

@foblex/platform 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @foblex/platform 的下载量有多少？

根据 npm 官方下载统计，@foblex/platform 在 2026/10/15 – 2026/11/13 这 30 天内被下载 354,201 次，日均约 11,807 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @foblex/platform 还在维护吗？

最新版本 1\.0\.4 发布于 2024/09/25（2 年前）；至今共发布 5 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/09/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

