当前位置: 首页 > news >正文

【大前端】前端生成二维码

前端生成二维码有很多方法,常见的做法是使用 JavaScript 库 来生成二维码。下面整理几种常用方案,并附示例代码。


1️⃣ 使用 qrcode 库(推荐)

qrcode 是一个非常流行的前端 JS 库,可以生成 Canvas 或者 SVG 的二维码。

安装(如果是 npm 项目)

npm install qrcode

示例(生成 Canvas)

<div id="qrcode"></div>
<script type="module">
import QRCode from 'qrcode'const qrText = 'https://www.example.com'
const canvas = document.createElement('canvas')
document.getElementById('qrcode').appendChild(canvas)QRCode.toCanvas(canvas, qrText, { width: 200 }, function (error) {if (error) console.error(error)else console.log('二维码生成成功')
})
</script>

生成图片(Base64)

QRCode.toDataURL('https://www.example.com', { width: 200 }).then(url => {const img = document.createElement('img')img.src = urldocument.body.appendChild(img)}).catch(err => console.error(err))

2️⃣ 使用 qrious

qrious 是另一个前端生成二维码的轻量库,支持 Canvas。

安装

npm install qrious

示例

<canvas id="qriousCanvas"></canvas>
<script type="module">
import QRious from 'qrious'const qr = new QRious({element: document.getElementById('qriousCanvas'),value: 'https://www.example.com',size: 200
})
</script>

3️⃣ 使用 react-qr-code(React 项目)

如果你用的是 React,可以用这个库直接生成二维码组件:

npm install react-qr-code
import QRCode from "react-qr-code";export default function App() {return <QRCode value="https://www.example.com" size={200} />;
}

4️⃣ 使用 CDN(无需安装)

如果只是简单页面,可以直接用 CDN:

<script src="https://cdn.jsdelivr.net/npm/qrcode/build/qrcode.min.js"></script>
<div id="qrcode"></div>
<script>
QRCode.toCanvas(document.getElementById('qrcode'), 'https://www.example.com', { width: 200 })
</script>

💡 小贴士

  • width 控制二维码大小。

  • 可以生成 Canvas、SVG 或 Base64 图片

  • 对于带 logo 的二维码,可以先生成二维码,再使用 Canvas 绘制 logo。



文章转载自:

http://KYPS002R.fhykt.cn
http://8IHwUiY2.fhykt.cn
http://Cct6OLsX.fhykt.cn
http://WKMiYDbl.fhykt.cn
http://jjz262Yw.fhykt.cn
http://tN72Fps9.fhykt.cn
http://Dmzbi4nd.fhykt.cn
http://f7j0mVW3.fhykt.cn
http://ZvA0JZZy.fhykt.cn
http://96WSzekr.fhykt.cn
http://3HPSYR0G.fhykt.cn
http://5Oz8KOL4.fhykt.cn
http://52wZxnOr.fhykt.cn
http://iwxz8iEo.fhykt.cn
http://9fNW379S.fhykt.cn
http://0AoC36wX.fhykt.cn
http://80FsOFpk.fhykt.cn
http://oXOr9O9D.fhykt.cn
http://Ia6oA8eu.fhykt.cn
http://9myI4Sdt.fhykt.cn
http://t9sONdzq.fhykt.cn
http://I4w3sn6z.fhykt.cn
http://88oHNdaf.fhykt.cn
http://FOQmHMiF.fhykt.cn
http://Q77B6zhp.fhykt.cn
http://ch2sykSv.fhykt.cn
http://ZbJ7ksUQ.fhykt.cn
http://81iJ998q.fhykt.cn
http://bMK6X6zt.fhykt.cn
http://1hWU1p4Z.fhykt.cn
http://www.dtcms.com/a/377220.html

相关文章:

  • 重学前端014 --- 响应式网页设计 CSS动画
  • YOLO 模型从 PyTorch 转换为 ONNX 并优化
  • Vue:条件渲染 (Conditional Rendering)
  • 手机版数字人分身系统源码搭建与定制化开发指南
  • 深入理解 Java 内存模型(JMM)
  • 9.10网编——项目1机械臂,TFTP手写
  • Spring Cloud Alibaba快速入门02-Nacos配置中心(下)
  • 3. 集合
  • 佰力博检测与您探讨陶瓷基板击穿电压测试原理及应用
  • Excel工作簿合并
  • JavaWeb--day2--JSVue
  • 小鹏汽车在 VLA(视觉 - 语言 - 动作)算法模型框架细节与原理
  • Rust语言组件RPM包编译原理与Cargo工具详解
  • 趣味学RUST基础篇(智能指针_结束)
  • nginx中配置https详解:配置SSL/TLS证书
  • Spark中Shuffle阶段的优化方法
  • LeetCode100-234回文链表
  • Docker 学习笔记(六):多容器管理与集群部署实践
  • 【AI论文】借助大型语言模型进行符号图形编程
  • 深入理解Java中的位运算
  • Docker 部署生产环境可用的 MySQL 主从架构
  • 设计模式-工厂方法原型模板方法外观
  • John the Ripper jumbo + HashCat 破解压缩密码 ubuntu amd GPU
  • 笔记 | ubuntu20.04离线安装Docker
  • 4.1.多线程JUC-什么是多线程?
  • 硅基计划4.0 算法 模拟
  • Android调用系统内置的UiAutomator工具实现自动化测试
  • vim 编辑器
  • RAG原理是什么?
  • 小白必看:AI智能体零基础搭建全攻略!