一开始使用node-qrcode(https://github.com/soldair/node-qrcode),结果安装的时候需要安装python,且不支持python3.0以上,安装python2.0的时候又需要安装其他的环境,所以放弃了。
最后选择了一个小众的插件qr-image(https://github.com/alexeyten/qr-image)
前台页面如下
views/index.ejs
<!DOCTYPE html> <html> <head> <title><%= title %></title> <link href='https://www.jb51.net/stylesheets/style.css'/> </head> <body> <h1><%= title %></h1> <img src="/create_qrcode?text=http://blog.csdn.net/fo11ower"/> </body> </html>
后端代码:
routes/index.js
var qr = require('qr-image') router.get('https://www.jb51.net/', function (req, res, next) { res.render('index', {title: 'Express'}); }); router.get('/create_qrcode', function (req, res, next) { var text = req.query.text; try { var img = qr.image(text,{size :10}); res.writeHead(200, {'Content-Type': 'image/png'}); img.pipe(res); } catch (e) { res.writeHead(414, {'Content-Type': 'text/html'}); res.end('<h1>414 Request-URI Too Large</h1>'); } })
最后效果
PS:这里再为大家推荐两款二维码相关在线工具供大家参考使用: