Node.js 环境的 QRCode 生成库,支持 SVG 和 PNG 输出,适合服务端渲染和文件生成。
可以创建一个简单的 CLI 工具:
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
constructor(text, level) |
构造函数 | text: string, level: QRErrorCorrectLevel |
QRCode |
toSVG(size?) |
生成 SVG | size?: number |
string |
toPNG(size?) |
生成 PNG | size?: number |
Buffer |
toStyledSVG(options) |
样式化 SVG | options: StyledSVGOptions |
string |
getModuleCount() |
获取模块数 | - | number |
isDark(row, col) |
判断模块颜色 | row: number, col: number |
boolean |
| 特性 | @veaba/qrcode-node | @veaba/qrcode-js |
|---|---|---|
| 环境 | Node.js | 浏览器 |
| PNG 支持 | ✅ 原生 Buffer | ❌ 需额外处理 |
| 文件系统 | ✅ 直接写入 | ❌ 需下载 |
| 服务端渲染 | ✅ 支持 | N/A |
| 性能 | 快 | 快 |
基于实际基准测试:
| 测试项 | 性能 |
|---|---|
| 单条生成 (medium) | 9,662 ops/s |
| 批量生成 (100 条) | 3,000 ops/s |
| SVG 输出 | 9,827 ops/s |
| PNG Buffer 输出 | 2,404 ops/s |
测试环境:Node.js v20.19.4, Windows