# @dimanech/cssstat-core 中文文档

规范地址：https://npmcn.com/package/%40dimanech/cssstat-core/

版本：3\.3\.1
npm 元数据更新时间：2022-04-05T04:40:45.778Z
中文译文更新时间：2026-11-12T09:51:22.785Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：666 kB，42 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：17 个
- 首次发布：2018-07-13T12:53:09.550Z
- 最新版本发布：2021-12-02T15:35:06.297Z
- 近 30 天下载量：2726（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

样式表的高级别数据

## 安装

```sh
npm install @dimanech/cssstat-core
```

也可以使用：`pnpm add @dimanech/cssstat-core`、`yarn add @dimanech/cssstat-core`、`bun add @dimanech/cssstat-core`

## README

# 统计 [![Build Status](https://travis-ci.org/cssstats/core.svg?branch=master)](https://travis-ci.org/cssstats/core)

解析样式表并返回带有统计数据的对象. 这是用于 [cssstats.com (英语)](http://cssstats.com/)

## 安装

```sh
npm i --save cssstats
```

## 使用量

### 节点

```js
var fs = require('fs')
var cssstats = require('cssstats')

var css = fs.readFileSync('./styles.css', 'utf8')
var stats = cssstats(css)
```

### PostCSS 插件

CSS Stats 可用作一种 [邮政](https://github.com/postcss/postcss) 插件 . 数据将添加到 PostCSS 信件阵列中 .

```js
var fs = require('fs')
var postcss = require('postcss')
var cssstats = require('cssstats')

var css = fs.readFileSync('./styles.css', 'utf8')
postcss()
  .use(cssstats())
  .process(css)
  .then(function (result) {
    result.messages.forEach(function (message) {
      console.log(message)
    })
  })
```

#### 选项

选项可能作为第二个参数被传递.

```js
var stats = cssstats(css, { mediaQueries: false })
```

-   `safe` (布尔, 默认值 : `true`\- 启用 [PostCSS 安全模式](https://github.com/postcss/postcss#safe-mode) 用语法错误解析 CSS
-   `mediaQueries` (布尔,默认) `true`) - 决定是否为每个媒体查询块生成数据
-   `importantDeclarations` (布尔,默认) `false`\- 包括一系列声明 `!important`

以下选项将帮助方法的结果添加到返回对象中. 这在使用时很有帮助 `JSON.stringify()`。 。 。 .

-   `specificityGraph` (布尔,默认) `false`(中文(简体) )
-   `sortedSpecificityGraph` (布尔,默认) `false`(中文(简体) )
-   `repeatedSelectors` (布尔,默认) `false`(中文(简体) )
-   `propertyResets` (布尔,默认) `false`(中文(简体) )
-   `vendorPrefixedProperties` (布尔,默认) `false`(中文(简体) )

### 返回对象

```js
// Example
{
  size: n,
  gzipSize: n,
  rules: {
    total: n,
    size: {
      graph: [n],
      max: n,
      average: n
    }
  },
  selectors: {
    total: n,
    id: n,
    class: n,
    type: n,
    pseudoClass: n,
    psuedoElement: n,
    values: [str],
    specificity: {
      max: n
      average: n
    },
    getSpecificityGraph(),
    getSpecificityValues(),
    getRepeatedValues(),
    getSortedSpecificity()
  },
  declarations: {
    total: n,
    unique: n,
    important: [obj],
    properties:
      prop: [str]
    },
    getPropertyResets(),
    getUniquePropertyCount(),
    getPropertyValueCount(),
    getVendorPrefixed(),
    getAllFontSizes(),
    getAllFontFamilies(),
  },
  mediaQueries: {
    total: n,
    unique: n,
    values: [str],
    contents: [
      {
        value: str,
        rules: {
          total: n,
          size: {
            graph: [n],
            max: n,
            average: n
          }
        },
        selectors: {
          total: n,
          id: n,
          class: n,
          type: n,
          pseudoClass: n,
          pseudoElement: n,
          values: [str],
          specificity: {
            max: n,
            average: n
          }
        },
        declarations: {
          total: n,
          unique: n,
          important: [obj],
          vendorPrefix: n,
          properties: {
            prop: [str]
          }
        }
      }
    ]
  }
}
```

#### `size` 编号

以字节计的文件大小

#### `gzipSize` 编号

样式表大小以字节显示

#### `rules` 对象

-   `total` 规则总数
-   `size` 对象
    -   `size.graph` 数组 - 规则大小( 每条规则声明的数量) 按源顺序排列
    -   `size.max` 数字 - 最大规则大小
    -   `size.average` 数字 - 平均规则大小

#### `selectors` 对象

-   `total` 数字 - 选择者总数
-   `type` 数字 - 类型选择者总数
-   `class` 数量 - 类别选择者总数
-   `id` 数字 - id 选择器总数
-   `pseudoClass` 数量 - 伪类选择者总数
-   `pseudoElement` 数字 - 伪元素选择器总数
-   `values` 数组 - 所有选择者的字符串数组
-   `specificity` 对象
    -   `specificity.max` 数字 - 最大特性作为基准 10 个数字
    -   `specificity.average` 数字 - 平均具体性作为基准 10 个数字
-   `getSpecificityGraph()` 函数 - 返回每个选择者的特异性的数字数组作为10个基数
-   `getSpecificityValues()` 函数 - 返回一组具有10个基准特性分数的选定者,顺序为
-   `getRepeatedValues()` 函数 - 返回重复选择器的一系列字符串
-   `getSortedSpecificity()` 函数 - 返回具有10个基准特性分数的选定数组,从最高到最低排序

#### `declarations` 对象

-   `total` 数量 - 声明总数
-   `unique` 数量 - 总的独特声明
-   `properties` 对象 - 带有每个独特属性和该属性值的数组对象
-   `getPropertyResets()` 函数 - 返回一个对象,并重置每个属性的边距或被补丁的次数
-   `getUniquePropertyCount(property)` 函数 - 返回给定属性独有值的数目
-   `getPropertyValueCount(property, value)` 函数 - 返回特定属性和值的宣布次数
-   `getVendorPrefixed()` 函数 - 返回带有供应商前缀属性的一系列声明
-   `getAllFontSizes()` 函数 - 从两者返回字体大小的数组 `font-size` 财务报告和审定财务报表 `font` 单手声明
-   `getAllFontFamilies()` 函数 - 从两者返回一系列字体组合 `font-family` 财务报告和审定财务报表 `font` 单手声明
-   `important` 数组( 可选) - `!important` 声明对象 `property` 财务报告和审定财务报表 `value`

#### `mediaQueries` 对象

-   `total` 数量 - 媒体查询总数
-   `unique` 数字 - 唯一媒体查询总数
-   `values` 阵列 - 每个媒体查询的数值阵列
-   `contents` 阵列 - 媒体查询区块的阵列,每个区块都有完整的统计数据对象

见 `/test/results` 文件夹,例如 JSON 结果.

### 用法实例

```js
var cssstats = require('cssstats')
var stats = cssstats(css)
```

#### 生成 a [特异性图](http://csswizardry.com/2014/10/the-specificity-graph/)

```js
var specificityGraph = stats.selectors.getSpecificityGraph()
```

#### 按最高特异性排序选择者

```js
var sortedSelectors = stats.selectors.getSortedSpecificity()
```

#### 获取唯一颜色的总数

```js
var uniqueColorsCount = stats.declarations.getUniquePropertyCount('color')
```

#### `display: none` 计数

```js
var displayNoneCount = stats.declarations.getPropertyValueCount('display', 'none')
```

## 许可证

麻省理工学院

## 捐款

1.  叉开它
2.  创建您的特性分支( E)`git checkout -b my-new-feature`(中文(简体) )
3.  提交更改( E)`git commit -am 'Add some feature'`(中文(简体) )
4.  推向分行(`git push origin my-new-feature`(中文(简体) )
5.  创建新的拉请求

## 常见问题

### @dimanech/cssstat-core 是什么？

样式表的高级别数据

### 如何安装 @dimanech/cssstat-core？

在项目目录运行 npm install @dimanech/cssstat-core，或使用 pnpm add / yarn add / bun add。

### @dimanech/cssstat-core 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dimanech\_\_cssstat-core 是否存在。

### @dimanech/cssstat-core 支持 ESM 还是 CommonJS？

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

### @dimanech/cssstat-core 可以商用吗？

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

### @dimanech/cssstat-core 的下载量有多少？

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

### @dimanech/cssstat-core 还在维护吗？

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

