停止使用 kuromoji.js:@sglkc/kuromoji 是更好、更现代的分支
💡
原文英文,约1400词,阅读约需5分钟。
📝
内容提要
这篇文章介绍了@sglkc/kuromoji,它是kuromoji.js的一个分支,解决了它的一些限制,包括缺乏直接浏览器兼容性和Service Worker支持。作者建议使用WanaKana进行[罗马字,平假名,片假名]之间的转换,并确定一个Unicode字符属于[汉字,罗马字,平假名,片假名]中的哪一个。作者还提供了从日文文本中提取汉字发音的代码。
🎯
关键要点
- @sglkc/kuromoji是kuromoji.js的一个分支,解决了浏览器兼容性和Service Worker支持的问题。
- kuromoji.js是Node.js版本,主要用于日文形态分析,提供文本分割和发音信息。
- kuromoji.js在API移植中更改了多个字段名称,导致程序员使用不便。
- kuromoji.js不支持Promise,仅支持回调函数,导致代码结构混乱。
- 集成kuromoji.js到浏览器时需要引用CDN或直接包含构建文件,限制了ESM的使用。
- kuromoji.js在浏览器中运行时会导致一系列错误,并且占用大量内存。
- 修改kuromoji.js源代码是解决问题的必要步骤,且该项目自2018年后没有更新。
- @sglkc/kuromoji通过替换zlib.js和XMLHttpRequest,解决了kuromoji.js的主要问题。
- 使用Promise的简单封装可以提高代码的可读性和结构性。
- WanaKana库可以处理罗马字、平假名和片假名之间的转换,并确定Unicode字符的类型。
- 提取汉字发音的代码示例展示了如何处理日文文本中的汉字。
➡️