>웹 프론트엔드 >CSS 튜토리얼 >서버리스 기능이있는 QR 코드 생성기를 만들자!

서버리스 기능이있는 QR 코드 생성기를 만들자!

Lisa Kudrow
Lisa Kudrow원래의
2025-03-13 12:23:08875검색

서버리스 기능이있는 QR 코드 생성기를 만들어 보겠습니다!

QR 코드는 재미 있나요? 우리는 그들을 사랑한 다음 미워하고 그들을 사랑합니다. 어쨌든, 그들은 최근에 다시 인기를 얻고 있기 때문에 어떻게 만들어 졌는지 생각하게됩니다. 시장에는 수많은 QR 코드 생성기가 있지만 자신의 웹 사이트에서 QR 코드를 생성해야한다고 가정합니다. 일부 패키지는이 작업을 수행 할 수 있지만 일반적으로 거대하고 (예 : 180KB) QR 코드를 생성하는 데 필요한 모든 것을 포함합니다. 웹 사이트의 다른 스크립트와 함께 서비스를 제공하는 것은 이상적이지 않습니다.

클라우드 기능의 개념은이 문제에 대한 우아한 솔루션을 제공합니다. 클라우드 기능은 서버에 존재하며 작은 API와 유사하게 필요할 때만 호출됩니다.

일부 호스트는 클라우드 기능 기능을 제공하고 DigitalOcean은 그 중 하나입니다! 액 적과 마찬가지로 기능 배포도 매우 쉽습니다.

로컬로 기능 폴더를 만듭니다

DigitalOcean은 프로젝트 프레임 워크를 구축 할 수있는 CLI 명령을 제공합니다. 프로젝트를 설정하고 실행하려는 디렉토리로 이동하십시오.

 <code>doctl serverless init --language js qr-generator</code>

언어는 명시 적으로 선언됩니다. DigitalOcean 기능은 PHP 및 Python도 지원합니다.

프로젝트의 모든 기능이 포함 된 /패키지 폴더가있는 QR-Generator라는 깨끗한 프로젝트를받습니다. 샘플 기능이 있지만 이제는이를 무시하고 그 옆에 QR 폴더를 만들 수 있습니다.

이 폴더는 QRCode 패키지와 QR.JS 기능을 저장합니다. 따라서 패키지/샘플/QR 디렉토리로 가서 패키지를 설치하겠습니다.

 <code>npm install --save qrcode</code>

이제 새로운 qr.js 파일에 함수를 쓸 수 있습니다.

 const qrcode = require ( 'qrcode')

Exports.main = (args) => {
  Qrcode.todataurl (args.text). (res => ({{
    헤더 : { 'content-type': 'text/html = utf-8'},
    Body : args.img == 정의되지 않았습니까? <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/" class="lazy" alt="서버리스 기능이있는 QR 코드 생성기를 만들어 보겠습니다!"> `
  }))
}

if (process.env.test) Exports.main ({text : "hello"}).

이 코드의 목적은 QRCode 패키지를 소개하고 기본적으로 Base64 PNG를 생성하는 함수를 내보내는 것입니다.<img alt="서버리스 기능이있는 QR 코드 생성기를 만들자!" > 소스로 태그. 터미널에서도 테스트 할 수도 있습니다.

 <code>doctl serverless functions invoke sample/qr -p "text:css-tricks.com"</code>

구성 파일을 확인하십시오

여기에 추가 단계가 있습니다. 프로젝트가 구축되면 일부 정보를 사용하여 기능을 구성하는 Project.yml 파일이 표시됩니다. 기본적으로 파일 내용은 다음과 같습니다.

 TargetNamespace : ''
매개 변수 : {}
패키지 :
  - 이름 : 샘플
    환경: {}
    매개 변수 : {}
    주석 : {}
    행위:
      - 이름 : 안녕하세요
        이진 : 거짓
        기본: ''
        런타임 : 'nodejs : default'
        웹 : 사실
        매개 변수 : {}
        환경: {}
        주석 : {}
        한계 : {}

강조된 것들을 보셨습니까? packages: name 속성은 패키지 폴더의 함수 위치를 지정합니다.이 경우 샘플이라는 폴더입니다. actions/ name 속성은 함수 자체의 이름, 즉 파일 이름입니다. 프로젝트를 시작할 때 기본 이름은 Hello이지만 QR.JS의 이름을 지정하므로 계속하기 전에 라인을 Hello에서 QR로 변경해야합니다.

배포 함수

명령 줄에서 직접 배포 할 수 있습니다! 먼저 DigitalOcean 샌드 박스 환경에 연결하여 테스트를위한 실시간 URL을 얻습니다.

 ## 당신은 do api key doctl sandbox connect가 필요합니다.

이제 기능을 배포 할 수 있습니다.

 DOCTL 샌드 박스는 QR-Generator를 배포합니다

배포가 완료되면 URL을 통해 기능에 액세스 할 수 있습니다. URL은 무엇입니까? 그것을 얻는 명령이 있습니다.

 doctl sbx fn get sample/qr -url
https://faas-nyc1-2ef2e6cc.doserverless.co/api/v1/web/fn-10a937cb-1f12-427b-aadd-f43d0b08d64a/sample/qr

기이! 더 이상 다른 스크립트와 함께 전체 패키지를 게시 할 필요가 없습니다! 해당 URL에 액세스하고 QR 코드를 생성 할 수 있습니다.

데모

우리는 API를 얻습니다. 그게 다야!

위 내용은 서버리스 기능이있는 QR 코드 생성기를 만들자!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:공간 좀주세요다음 기사:공간 좀주세요