서버리스 및 동적 사이트 생성(Firebase Hosting + Cloud Functions + Node.js + Express + EJS)

2021/3/4 추가
Firebase Hosting + Cloud Functions + Node.js + Express를 구성하는 단계는 공식 문서에 설명되어 있습니다.
htps : // 푹 빠져라. 오, ぇ. 코 m / 드 cs / 호 s 친 g / 훗 c 치 온 s

이 기사에서 할 일



아래와 같은 구성으로 서버리스로 동적 사이트를 작성한다.


  • Firebase
  • Firebase Hosting
  • Firebase Cloud Functions

  • Node.js
  • Express (프레임 워크)
  • EJS(템플릿 엔진)
  • Express Generator (병아리 만들기)


  • 새 프로젝트 디렉터리에서 Firebase에 배포하여 작업을 확인할 때까지 게시합니다.
    다양한 도구를 설치하십시오.

    환경


  • Windows 10
  • 우분투 (WSL) 18.04.5 LTS
  • npm v6.14.11
  • firebase v9.3.0

  • 사전 준비


  • Firebase 콘솔에서 새 프로젝트 만들기
  • 요금 플랜을 Blaze(종량제)로 변경해 둔다.
    ※ 사용량에 따라 요금이 발생하므로 주의해 주십시오

  • 절차



    새 프로젝트 폴더 만들기


    mkdir testapp
    cd testapp
    

    Firebase Hosting 초기화


    firebase init hosting
    
    # 対話式の質問には下記のように回答してください。
    ? What do you want to use as your public directory? public
    ? Configure as a single-page app (rewrite all urls to /index.html)? Yes
    ? Set up automatic builds and deploys with GitHub? No
    

    public 폴더가 필요 없기 때문에 삭제


    rm -r public
    

    express-generator로 소스 폴더 만들기


    # テンプレートエンジンは EJS を使用
    express -e functions
    

    npm 초기화


    npm init
    

    EJS 설치


    npm install -save ejs
    

    관련 패키지를 삭제하고 설치하십시오.


    npm uninstall debug --save
    npm install firebase-functions firebase-admin static-favicon morgan cookie-parser body-parser
    

    app.js 편집



    시작과 끝에 다음을 추가

    app.js
    const functions = require('firebase-functions');
    中略
    module.exports.func_https = functions.https.onRequest(app);
    

    firebase.json 편집



    firebase.json
    {
        "hosting": {
            "public": "functions",
            "ignore": [
                "firebase.json",
                "**/.*",
                "**/node_modules/**"
            ],
            "rewrites": [
                {
                    "source": "**",
                    "function": "func_https"  これに変更
                }
            ]
        },
        "functions": {               以下の3行を追加
            "runtime": "nodejs12"    追加
        }                            追加
    }
    

    로컬 환경에서 동작 확인



    Firebase 에뮬레이터를 실행하여 동작 확인


    firebase emulators:start
    

    localhost에 액세스하여 아래 이미지와 같이되면 OK


    Firebase에 배포


    firebase deploy -i
    

    웹 콘솔에서 Hosting 및 Cloud Functions를 확인하면 데이터가 올라갑니다.

    호스팅에서 URL 확인 및 액세스

    안전하게 배포 할 수있었습니다!

    참고로 한 기사



    【Firebase】Cloud Functions + Express + EJS로 동적 콘텐츠 배포
    매우 참고가 되었습니다. 고마워요.

    좋은 웹페이지 즐겨찾기