Skip to content

主题与对比选型

基于 @scalar/api-reference 1.60.0 编写

速查

  • 11 套内置主题 + nonedefault alternate moon purple solarized bluePlanet saturn kepler mars deepSpace laserwave
  • theme(配色)与 layoutmodern / classic 版式)是两个正交维度;细节再用 customCss 精修
  • vs Swagger UI:Scalar 内置完整客户端 + 现代 UI;Swagger UI 有 Try it out 但较弱、UI 偏老
  • vs Redoc:Redoc 静态只读、无交互;Scalar 可发真实请求
  • 许可:Scalar MIT / Swagger UI Apache-2.0 / Redoc MIT
  • 选型口诀:要"现代 UI + 真能调接口"选 Scalar;要轻量只读静态文档可选 Redoc;已深绑 Swagger 生态可继续 Swagger UI

11 套内置主题

theme 字段从下列预设里 11 选 1,另有 none(不套任何 Scalar 主题,配合 customCss 完全自定义):

主题主题主题
defaultalternatemoon
purplesolarizedbluePlanet
saturnkeplermars
deepSpacelaserwavenone(自定义)
ts
createApiReference("#app", { url: "/openapi.json", theme: "saturn" });

主题 ≠ 布局 ≠ 明暗

  • theme:选配色(11 套 + none)
  • layout:选版式(modern 默认 / classic
  • darkMode / forceDarkModeState:管明暗 三者独立组合;要再精修用 customCss

现代 UI 的具体载体

Scalar 相对 Swagger UI 的"现代感"不是空话,而是由三件套支撑:

  • 11 套配色主题——一行 theme 切换整体观感
  • modern / classic 两种布局——layout 切版式
  • customCss 精修——注入 CSS 改字体 / 间距 / 品牌色细节

叠加对大文档的渲染性能优化,接口数量庞大时仍较流畅。

三者横向对比

维度ScalarSwagger UIRedoc
定位渲染 + 内置客户端渲染 + 弱 Try it out只读渲染
发真实请求(完整客户端)能但较弱不能
环境变量 / 历史基本没有
代码片段25+ 语言有限有(只读展示)
UI 现代度(11 主题 / 2 布局)偏老简洁但静态
许可MITApache-2.0MIT

怎么选

  • 要"现代 UI + 真能在文档里调接口" → 选 Scalar。内置客户端 + 环境变量 + 历史,把 Postman 的核心体验搬进文档。
  • 只要一份轻量、只读的静态 API 文档Redoc 足够,无交互负担。
  • 项目已深绑 Swagger 生态 / 团队熟悉 → 继续 Swagger UI 也行,或用 Scalar 平滑替换其渲染层(spec 仍由原 Swagger 模块生成)。

别把 Scalar 当生成器来比

对比的是"渲染 / 交互层"。三者都消费已有的 OpenAPI spec,都不生成 spec——生成始终是上游框架的职责。选型选的是"用哪个渲染、交互体验如何"。

开源渲染器 vs 托管平台

最后澄清一个易混点:

  • 开源(MIT)@scalar/api-reference(渲染器)、@scalar/api-client(客户端)——免费、可自托管、可商用
  • 托管平台(freemium):Scalar 的 Registry / Dashboard / SDK 生成等增值服务

内置客户端属于开源部分,不需要付费;不要因为存在托管平台就误以为渲染 / 客户端能力收费。

下一步:速查参考 · 接入方式 · 配置对象详解