@dimanech/cssstat-core

中文文档
3.3.1发布于 2021/12/02MITCommonJS近 30 天下载 2726

样式表的高级别数据

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 节点
  4. PostCSS 插件
  5. 返回对象
  6. 用法实例
  7. 许可证
  8. 捐款

统计 Build Status

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

安装

npm i --save cssstats

使用量

节点

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

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

PostCSS 插件

CSS Stats 可用作一种 邮政 插件 . 数据将添加到 PostCSS 信件阵列中 .

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)
    })
  })

选项

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

var stats = cssstats(css, { mediaQueries: false })
  • safe (布尔, 默认值 : true- 启用 PostCSS 安全模式 用语法错误解析 CSS
  • mediaQueries (布尔,默认) true) - 决定是否为每个媒体查询块生成数据
  • importantDeclarations (布尔,默认) false- 包括一系列声明 !important

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

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

返回对象

// 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 结果.

用法实例

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

生成 a 特异性图

var specificityGraph = stats.selectors.getSpecificityGraph()

按最高特异性排序选择者

var sortedSelectors = stats.selectors.getSortedSpecificity()

获取唯一颜色的总数

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

display: none 计数

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 共发布 4 个版本,首次发布于 2018/07/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.3.1latest2021/12/024 年前
3.3.02021/12/024 年前
3.2.12018/07/138 年前
3.2.02018/07/138 年前

关于 @dimanech/cssstat-core 的常见问题

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