首页
/ Khan Academy Perseus 核心库 4.0.0 版本发布解析

Khan Academy Perseus 核心库 4.0.0 版本发布解析

2025-07-02 21:40:11作者:沈韬淼Beryl

Perseus 是 Khan Academy 开发的一个开源数学题目渲染引擎,主要用于在线教育场景中数学题目的展示和交互。作为 Khan Academy 教育平台的核心组件之一,Perseus 提供了丰富的数学题目类型支持,包括选择题、填空题、图形题等。

主要变更

数值输入组件改进

4.0.0 版本对 NumericInput 组件进行了重大改进,使其不再依赖于答案数据即可实现交互功能。这一改动使得组件更加灵活,能够适应更多使用场景。开发者现在可以在不提供预设答案的情况下使用该组件,这在创建开放式数学问题或教学演示时特别有用。

工具链升级

项目构建工具链进行了重要升级,从传统的 npm 或 yarn 切换到了 pnpm。pnpm 以其高效的依赖管理和磁盘空间利用率著称,这一变更将显著提升开发者的构建体验和 CI/CD 效率。

功能增强

数值输入辅助函数重构

对 Numeric Input 相关的辅助函数进行了全面重构:

  • 移除了对 underscore 库的依赖
  • 改进了代码文档
  • 增加了测试覆盖率 这些改进提升了代码的可维护性和可靠性,为未来的功能扩展打下了坚实基础。

问题修复

国际化支持修复

修复了 Marathi 语言环境下小数点分隔符获取的问题,增强了库的国际化支持能力。这对于多语言教育平台至关重要,确保不同语言用户都能获得正确的数学符号显示。

交互式图形组件改进

针对 Interactive Graph 组件进行了多项改进:

  • 增强了对 null 值的处理能力,在解析函数定义域时能够正确处理 null 值,将其转换为 +/-Infinity
  • 确保与现有持久化数据格式的兼容性
  • 增加了对无答案数据的渲染测试

提示系统修复

修复了提示系统中 replace 字段处理 null 值的问题,解决了在某些评估项目中观察到的解析错误。这一改进提升了系统的稳定性和兼容性。

其他改进

版本信息嵌入优化

改进了各包中版本信息的嵌入方式,虽然略微增加了包体积,但提供了更可靠的版本追踪机制。

测试覆盖扩展

增加了对无答案状态下 Dropdown 组件支持的测试,进一步提升了测试覆盖率,确保组件在各种使用场景下的稳定性。

总结

Perseus 核心库 4.0.0 版本带来了多项重要改进,特别是在组件独立性、国际化支持和稳定性方面。这些变更使得库更加健壮和灵活,能够更好地服务于在线数学教育场景。对于现有用户,建议仔细测试与新版本的兼容性,特别是涉及数值输入和交互式图形的功能。

登录后查看全文
热门项目推荐

项目优选

收起
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
340
1.2 K
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
901
537
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
189
267
kernelkernel
deepin linux kernel
C
22
6
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
141
188
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
375
387
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
87
4
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
arkanalyzerarkanalyzer
方舟分析器:面向ArkTS语言的静态程序分析框架
TypeScript
115
45