当前位置: 首页 > news >正文

使用 cnchar 生成汉字拼音、笔画、组词数据(Node.js 实战教程)

一、使用场景

在汉字学习、识字类项目中,通常需要提前生成:

  • 汉字
  • 拼音(带声调)
  • 笔画数
  • 笔画类型(横竖撇捺等)
  • 常见组词

本文使用Node.js + cnchar生成 JSON 数据,供后端直接导入数据库使用。


二、安装依赖

npminstallcnchar cnchar-order cnchar-poly cnchar-words cnchar-voice

三、生成脚本

generate_char_data1.js

// generate_char_data_for_execjs.js// Node ESM / execjs / cnchar// 生成:拼音 / 笔画数 / 笔画名 / 原始笔画数据importcncharfrom'cnchar';importorderfrom'cnchar-order';importpolyfrom'cnchar-poly';importwordsfrom'cnchar-words';importvoicefrom'cnchar-voice';importfsfrom'fs';// =======================// 1️ 注册插件// =======================cnchar.use(order,poly,words,voice);// =======================// 2️ 获取单字数据// =======================functiongetCharacterData(char){try{// 拼音constspell=cnchar.spell(char,'tone');constpinyin=Array.isArray(spell)?spell.join(' / '):spell||'';// 笔画数conststrokeCount=cnchar.stroke(char)||1;// 笔画名称(标准)conststrokeNameList=cnchar.stroke(char,'order','name');conststrokeNames=Array.isArray(strokeNameList)?strokeNameList.join(','):'';// ⭐ 原始笔画(detail 模式)conststrokeDetailList=cnchar.stroke(char,'order','detail');conststrokesRaw=cnchar.stroke(char,'order','shape')// 组词constwordList=cnchar.words(char);constwordsStr=Array.isArray(wordList)?wordList.slice(0,8).join(','):'';return{character:char,pinyin,stroke_count:strokeCount,stroke_names:strokeNames,strokes_raw:strokesRaw,// 新增字段words:wordsStr};}catch(err){return{character:char,pinyin:'',stroke_count:1,stroke_names:'',strokes_raw:[],words:''};}}// =======================// 3️Node 直接运行示例// =======================if(process.argv[1]&&process.argv[1].includes('generate_char_data')){constchars=['一','人','好','学','你','我'];constdata=chars.map(getCharacterData);fs.writeFileSync('./char_data.json',JSON.stringify({generated_at:newDate().toISOString(),total:data.length,characters:data},null,2),'utf-8');console.log(' 已生成 char_data.json(含原始笔画)');}// =======================// 4️ execjs 导出// =======================export{getCharacterData};

四、运行脚本

nodegenerate_char_data1.js

生成文件:

generated_characters.json

五、生成结果示例

{"generated_at":"2025-12-27T02:47:57.131Z","total":6,"characters":[{"character":"一","pinyin":"Yī","stroke_count":1,"stroke_names":"横","strokes_raw":[["一"]],"words":"八一,八一队,不一,不一定,创一流,初一,单一,第一"},{"character":"人","pinyin":"Rén","stroke_count":2,"stroke_names":"撇,捺","strokes_raw":[["丿","㇏"]],"words":"爱人,爱人民,保护人,被告人,北京人,本人,辩护人,别人"},{"character":"好","pinyin":"Hǎo","stroke_count":6,"stroke_names":"撇点,撇,横,横撇|横钩,竖钩,横","strokes_raw":[["𡿨","丿","一","㇇|乛","亅","一"]],"words":"爱好,爱好者,办好,备好,变好,不好,大好,打好"},{"character":"学","pinyin":"Xué","stroke_count":8,"stroke_names":"点,点,撇,点2,横撇|横钩,横撇|横钩,竖钩,横","strokes_raw":[["丶","丶","丿","㇀","㇇|乛","㇇|乛","亅","一"]],"words":"爱科学,爱学习,办学,博学,不科学,才学,辍学,初学"},{"character":"你","pinyin":"Nǐ","stroke_count":7,"stroke_names":"撇,竖,撇,横撇|横钩,竖钩,撇,点","strokes_raw":[["丿","丨","丿","㇇|乛","亅","丿","丶"]],"words":"你的,你好,迷你,你们,你我"},{"character":"我","pinyin":"Wǒ","stroke_count":7,"stroke_names":"撇,横,竖钩,提,斜钩|卧钩,撇,点","strokes_raw":[["丿","一","亅","㇀","㇂|㇃","丿","丶"]],"words":"你我,忘我,我厂,我处,我方,我国,我局,我军"}]}

六、注意事项(重要)

  • stroke_count可靠
  • stroke_names仅用于基础展示
  • 教学级笔顺 / 动画建议前端使用HanziWriter
  • 不推荐在 Django / Java 中直接计算笔画

七、总结

  • cnchar 适合数据预生成
  • Node.js 非常适合做汉字数据工具脚本
  • 后端只负责存储,前端负责交互与动画
http://www.jsqmd.com/news/148989/

相关文章:

  • 【Java毕设全套源码+文档】基于springboot的校友录管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 【稀缺资源】智谱AutoGLM内部实现文档流出:含未公开API调用规范
  • Vue中vuex状态管理actions用法
  • 电脑硬件检测工具箱,牛批了
  • 2025旋转门厂商TOP5权威推荐:资深厂商,智能旋转门技术深度测评指南 - 工业推荐榜
  • 压力机哪家厂家质量好?2025年度推荐榜单 - 品牌推荐大师
  • TensorFlow在法律文书分类中的实践探索
  • 2025年,计算机相关专业还值不值得学和报考?大实话版分析,这5个真相越早知道越好!!
  • 2025年上海跨境电商财税合规权威平台排行榜,精选合规供应商及退税公司推荐 - mypinpai
  • 冷链生鲜冷藏运输包装箱源头厂家选择哪家好?哪家售后好? - 工业品网
  • 瞄准高薪岗位:2026云安全工程师核心能力地图与学习路径
  • 【Java毕设全套源码+文档】基于springboot的家校合作平台设计与实现(丰富项目+远程调试+讲解+定制)
  • Open-AutoGLM高效部署全流程解析(含私密配置技巧)
  • EPP材料制品生产厂家哪家好?EPP材料如何定制与保温箱厂家推荐全解析 - 工业推荐榜
  • TensorFlow模型Checkpoint保存与恢复技巧
  • 安卓/iOS如何流畅运行Open-AutoGLM?这3种方案你必须掌握
  • 2025年智能升降窗制造商推荐:靠谱的智能升降窗供应商有哪些? - 工业品牌热点
  • AWS or 阿里云?一张表看懂安全责任与核心服务,附新手入门实操清单
  • 为什么顶级团队都在用USB直连运行Open-AutoGLM?实测数据揭示传输延迟下降87%
  • 2025年钻探设备厂家推荐:专业钻探设备供应商有哪些? - 工业品网
  • 网络安全学完好就业吗?2026年,我分析了300个岗位后告诉你真实答案
  • 【Java毕设全套源码+文档】基于springboot的“课件通”中小学教学课件共享平台设计与实现(丰富项目+远程调试+讲解+定制)
  • C语言随堂笔记-6
  • TensorFlow Lite移动端部署:边缘计算的新可能
  • 【Java毕设全套源码+文档】基于springboot的大学生创业项目的信息管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 构建推荐系统:基于TensorFlow的大规模协同过滤
  • 2025家居环保板材TOP5权威测评:天坛精板质量怎么样? - 工业设备
  • 基于TensorFlow的NLP大模型Token生成流水线搭建
  • 【Java毕设源码分享】基于springboot+vue的家校合作平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 2025年上海社保代理供应商推荐,专业社保公积金代缴与开户代办企业全解析 - mypinpai