#3090·layui

[code] 重构 Code 代码预览组件

Author: sentsimCreated Jul 5, 2026Updated Aug 14, 2026

背景

当前 code 组件仍沿用函数式渲染与局部对象返回的实现方式,实例管理自成体系,影响后续维护。

目标

将 code 组件重构为 Component 子类,基础能力全部迁移到新的组件实例体系中。

为尽可能节省迁移成本,可大体保留现有功能,但无需考虑向下兼容,API 和选项均可重新设计。

API 迁移参考

  • 以 Component 风格重新定义 code 的公开 API
  • 明确「公开 API」与「内部实现细节」的职责划分
  • 将适合暴露的公开实例通过 delegateInstanceMethods 的静态委托方式提供

代码高亮与行高亮优化

  • code 的代码高亮支持已应用在 Layui 文档官网,总体运行良好,但可能还存在优化空间。
  • 上次对 code 重构过程中(#3025),可能破坏了 highlightLine 的一些逻辑,造成「聚焦」功能失效

内容范围

  • 只需更新 code.js、code.css、code.html 即可
  • 无需编写 tests/unit。单元测试后续会统一生成
  • 无需更新组件文档。文档后续会统一重写