You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Node.js读取含CSS声明的文本文件并统计值出现次数

使用Node.js统计CSS属性值出现次数的方案

实现步骤与代码示例

下面是一个直接可用的Node.js脚本,能读取CSS声明文本文件并统计每条属性值的出现次数:

const fs = require('fs');

// 替换为你的CSS文本文件路径
const filePath = './css-styles.txt';

try {
  // 同步读取文件内容
  const content = fs.readFileSync(filePath, 'utf8');
  
  // 处理内容:分割成行 → 去除前后空格 → 过滤空行和无效行
  const validLines = content
    .split('\n')
    .map(line => line.trim())
    .filter(line => line && line.includes(':'));
  
  // 统计每条属性值的出现次数
  const countMap = new Map();
  validLines.forEach(line => {
    // 标准化格式:去除末尾分号,避免格式差异导致统计错误
    const normalizedEntry = line.replace(/;$/, '').trim();
    countMap.set(normalizedEntry, (countMap.get(normalizedEntry) || 0) + 1);
  });
  
  // 输出统计结果
  console.log('=== CSS属性值出现次数统计 ===');
  countMap.forEach((count, entry) => {
    console.log(`${entry}: ${count}次`);
  });
} catch (error) {
  console.error('文件读取失败:', error.message);
}

使用说明

  1. 将你的Figma导出CSS文本保存为一个.txt文件(比如css-styles.txt),放在脚本同目录下,或者修改filePath为文件的绝对路径。
  2. 在终端运行命令:node count-css.js,即可看到统计结果。

关键细节说明

  • 用fs.readFileSync同步读取文件,适合小型文本文件的快速处理;如果是大文件,建议改用异步方法fs.readFile避免阻塞。
  • 标准化处理每条声明:去除末尾分号、前后空格,确保类似font-family: Roboto和font-family: Roboto;被算作同一条。
  • 用Map存储统计结果,相比普通对象更适合键为字符串的场景,且遍历更便捷。

内容的提问来源于stack exchange,提问作者Angel Reyes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:12:10