1.需要两个模块
fs(用于创造可写入流,用于存储文件),
qr-image(用于生成二维码,这个生成后会形成一个文件流,需要用pipe的方法来返回给文件或者请求)
// 引入模块
const qrCreate=require("qr-image");
const fs=require("fs");
const express=require("express");
// 创建路由,监听端口
var app=express();
app.listen(9002);
//
var userStr="https://www.sogou.com/web?ie=UTF-8&query=npm";
// 生成二维码文件流
var qr_svg=qrCreate.image(userStr,{ec_level:"M",type:"svg"});
var qr_png=qrCreate.image(userStr,{ec_level:"M",type:"png"});
// 创建可以写入流,当有pipe它的时候就会生成一个userStr.png的文件
var img=fs.createWriteStream("userStr.png");
// 将生成的二维码流pipe进入刚刚创建的可写入流,并生成文件
qr_png.pipe(img);
// 创建请求二维码api
app.get('/getqr', function (req, res) {
// 定义相应头
res.writeHead(200, { 'Content-Type': 'image/png' });
// 将生成的二维码流写入到相应中
qr_svg.pipe(res);
});
更多的二维码参数大家参npm的介绍吧