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

前端生成二维码有很多方法,常见的做法是使用 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 = url
    document.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。


相关推荐
风止何安啊4 分钟前
网页都知道要双向握手才加载!从 URL 到页面渲染,单向喜欢连 DNS 都解析不通
前端·javascript·面试
太极OS10 分钟前
给 AI Skill 做 CI/CD:GitHub + ClawHub + Xiaping 同步发布实战
前端
你_好10 分钟前
Chrome 内置了 AI 工具协议?WebMCP 抢先体验 + 开源 DevTools 全解析
前端·mcp
GISer_Jing11 分钟前
LangChain.js + LangGraph.js 前端AI开发实战指南
前端·javascript·langchain
正在发育ing__14 分钟前
从源码看vue的key和状态错乱的patch
前端
黄林晴39 分钟前
第一次听到 Tauri 这个词,去学习一下
前端
可可爱爱的你吖1 小时前
蜂鸟云地图简单实现
前端
布局呆星1 小时前
Vue3 :生命周期、DOM 操作与自定义组合式函数
前端·javascript·vue.js
147API1 小时前
多模型路由规则设计实战:第一版系统别做成黑盒
服务器·前端·javascript