[Node] QR Code 생성하기

6742 단어 NodeNode

이번에 프로젝트에서 특정 고유 문자열을 QR코드로 만들어야 하는 일이 있어, 해당 부분을 미리 해보았다.

코드의 경우 인터넷에 아주 잘 나와있지만, 이를 한 번 더 정리해놓고자 한다.

먼저 내 코드를 확인하고 싶다면 아래 레퍼지토리에서 확인하면 된다.
https://github.com/Ktaewon/node_qrcode

qrcode를 생성하기 위해선 서드파티 모듈인 qrcode모듈을 사용해야 한다.

Node.js 에서는 toDataUrl()을 사용하면 아주 간단하게 qr을 만들 수 있다.

  1. 먼저 필요한 모듈들을 설치하자
npm install express qrcode nodemon
  1. main.js를 생성하고 아래와 같은 코드를 실행하면 된다.
const express = require('express');
const qrCode = require('qrcode');

const PORT = 3000;
const app = express();
app.use(express.static('./static'));

app.get('/:qr', (req, res) => {
  qrCode.toDataURL(req.params.qr, (err, url) => {
    const data = url.replace(/.*,/, '')
    const img = Buffer.from(data, 'base64')
    res.writeHead(200, { 'Content-Type': 'image/png' })
    res.end(img)
  });
});


app.listen(PORT, (res, req) => {
  console.log(`listening on Port ${PORT}`);
});
  1. nodemon을 이용해 실행한다
  • package.json의 script에 해당 부분을 추가한다.
    "server": "nodemon src/main.js",
    npm run server
    를 통해 서버를 실행시킨다.
  1. 브라우저를 통해 테스트 해보자
  • 브라우저에 http://localhost:3000/hi를 입력하면 "hi"라는 문자열에 해당하는 qrcode를 생성해서 뿌려주게 된다.

참고

좋은 웹페이지 즐겨찾기