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

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


相关推荐
alexander0688 小时前
CSS 类选择器组合
前端·css
寅时码13 小时前
React 之死·终章:一个 useRef,把闭包陷阱、依赖数组、漫天 rerender 全送走
前端·react.js·ai编程
不好听61313 小时前
HTML 事件监听机制:从 DOM Level 0 到 React 合成事件
前端·react.js·html
wordbaby14 小时前
为什么刷新页面就 404?聊聊 SPA 路由与 Nginx 的那点事
前端
不好听61314 小时前
React 核心概念:JSX、组件与数据驱动
前端·react.js
触底反弹14 小时前
🔥 React 零基础入门(中):500 行屎山代码到组件化的蜕变
前端·javascript·react.js
不好听61314 小时前
React vs Vue:两大前端框架技术选型深度对比
前端·vue.js·react.js
GuWenyue14 小时前
Cursor黑盒拆解!1套LangChain.js手写Mini编程Agent,自动生成React项目,效率提升60%
前端·数据库·人工智能
GuWenyue14 小时前
传统Agent工具两大痛点!300行代码落地MCP跨语言工具,彻底解耦LLM与工具
前端·人工智能·算法
小林ixn15 小时前
从 onclick 到 React 合成事件,再到完整应用逻辑:一次前端架构的深度剖析
前端·react.js·前端框架