Node.Firebase Hosting js 어플리케이션으로 가는 가장 짧은 길
입문
Firebase의 관리, 좋습니다.정적 내용은 말할 것도 없이 Node라니.심지어 js의 동적 내용을 위탁 관리할 수 있다.개발할 때나 작은 서비스라면 사실상 무료다.
이해를 위해 우리는 정적 내용과 동적 내용을 위탁 관리하는 가장 짧은 경로를 보게 될 것이다.
참고로 정태적인 내용만 있으면 아래의 공식 안내서를 참조하면 된다.
https://firebase.google.com/docs/hosting/quickstart?hl=ja
준비
https://nodejs.org/en/
이 글은 8.10.0 LTS로 검증되었습니다.
$ npm install -g firebase-tools
$ firebase login
애플리케이션 초기화 $ cd <作業用のフォルダ>
$ firebase init
화면은 아래와 같다.호스트와 함수를 선택하십시오.
🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥
🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥
🔥🔥🔥🔥🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥
🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥
🔥🔥 🔥🔥🔥🔥 🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥
You're about to initialize a Firebase project in this directory:
<作業用のフォルダ>
? Which Firebase CLI features do you want to setup for this folder? Press Space to select features, then Enter to confirm your choices.
◯ Database: Deploy Firebase Realtime Database Rules
◯ Firestore: Deploy rules and create indexes for Firestore
◉ Functions: Configure and deploy Cloud Functions
❯◉ Hosting: Configure and deploy Firebase Hosting sites
◯ Storage: Deploy Cloud Storage security rules
너는 답을 찾기 위해 약간의 선택을 할 것이다.아래와 같은 대답으로 나는 네가 말할 것을 건의한다.? Select a default Firebase project for this directory: <Firebase のプロジェクト名>
? What language would you like to use to write Cloud Functions? JavaScript
? Do you want to use ESLint to catch probable bugs and enforce style? No
? Do you want to install dependencies with npm now? Yes
? What do you want to use as your public directory? public
? Configure as a single-page app (rewrite all urls to /index.html)? No
작업이 완료되면 작업 폴더의 구조는 다음과 같습니다..
├── firebase.json
├── functions
│ ├── index.js
│ ├── node_modules
│ ├── package-lock.json
│ └── package.json
└── public
├── 404.html
└── index.html
public 폴더는 정적 내용을 포함하는 폴더이고,functions는 동적 내용을 포함하는 폴더입니다.작업 폴더가 빈 상태에서 시작되면 Firebase-cli는 가상 내용을 포함해야 합니다.
functions/index.js는 아무것도 하지 않는 코드이기 때문에 편집기에서 열고 댓글을 빼고 다음 코드를 만드세요.const functions = require('firebase-functions');
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
})
로컬 확인
Firebase는 로컬 시뮬레이션 기능을 가지고 있기 때문에 이때 확인해 보세요.
정적 내용
$ firebase serve
=== Serving from '<作業用のフォルダ>'...
i hosting: Serving hosting files from: public
✔ hosting: Local server: http://localhost:5000
http://localhost:5000 아래와 같습니다.
5000번 포트에서 정적 컨텐츠가 관리됩니다.
동적 내용
$ firebase serve --only functions
=== Serving from '<作業用のフォルダ>'...
i functions: Preparing to emulate functions.
Warning: You're using Node.js v8.10.0 but Google Cloud Functions only supports v6.11.5.
✔ functions: helloWorld: http://localhost:5000/<Firebase のプロジェクト名>/us-central1/helloWorld
http://localhost:5000/<Firebase 프로젝트 이름 >/us-central1/helloWorld는 다음과 같습니다.
$ cd <作業用のフォルダ>
$ firebase init
🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥
🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥
🔥🔥🔥🔥🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥
🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥
🔥🔥 🔥🔥🔥🔥 🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥
You're about to initialize a Firebase project in this directory:
<作業用のフォルダ>
? Which Firebase CLI features do you want to setup for this folder? Press Space to select features, then Enter to confirm your choices.
◯ Database: Deploy Firebase Realtime Database Rules
◯ Firestore: Deploy rules and create indexes for Firestore
◉ Functions: Configure and deploy Cloud Functions
❯◉ Hosting: Configure and deploy Firebase Hosting sites
◯ Storage: Deploy Cloud Storage security rules
? Select a default Firebase project for this directory: <Firebase のプロジェクト名>
? What language would you like to use to write Cloud Functions? JavaScript
? Do you want to use ESLint to catch probable bugs and enforce style? No
? Do you want to install dependencies with npm now? Yes
? What do you want to use as your public directory? public
? Configure as a single-page app (rewrite all urls to /index.html)? No
.
├── firebase.json
├── functions
│ ├── index.js
│ ├── node_modules
│ ├── package-lock.json
│ └── package.json
└── public
├── 404.html
└── index.html
const functions = require('firebase-functions');
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
})
Firebase는 로컬 시뮬레이션 기능을 가지고 있기 때문에 이때 확인해 보세요.
정적 내용
$ firebase serve
=== Serving from '<作業用のフォルダ>'...
i hosting: Serving hosting files from: public
✔ hosting: Local server: http://localhost:5000
http://localhost:5000 아래와 같습니다.5000번 포트에서 정적 컨텐츠가 관리됩니다.
동적 내용
$ firebase serve --only functions
=== Serving from '<作業用のフォルダ>'...
i functions: Preparing to emulate functions.
Warning: You're using Node.js v8.10.0 but Google Cloud Functions only supports v6.11.5.
✔ functions: helloWorld: http://localhost:5000/<Firebase のプロジェクト名>/us-central1/helloWorld
http://localhost:5000/<Firebase 프로젝트 이름 >/us-central1/helloWorld는 다음과 같습니다.혼합
$ firebase serve --only hosting,functions
=== Serving from '<作業用のフォルダ>'...
i functions: Preparing to emulate functions.
i hosting: Serving hosting files from: public
✔ hosting: Local server: http://localhost:5000
Warning: You're using Node.js v8.10.0 but Google Cloud Functions only supports v6.11.5.
✔ functions: helloWorld: http://localhost:5001/<Firebase のプロジェクト名>/us-central1/helloWorld
5000 포트에는 정적 컨텐트가 로드되고 5001 포트에는 동적 컨텐트가 로드됩니다.배치
로컬에서 확인했을 때와 살짝 다른 옵션입니다!
본토
배치
$ firebase deploy
=== Deploying to '<Firebase のプロジェクト名>'...
i deploying functions, hosting
i functions: ensuring necessary APIs are enabled...
✔ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (31.21 KB) for uploading
✔ functions: functions folder uploaded successfully
i hosting: preparing public directory for upload...
✔ hosting: 2 files uploaded successfully
i functions: updating function helloWorld...
✔ functions[helloWorld]: Successful update operation.
Function URL (helloWorld): https://us-central1-<Firebase のプロジェクト名>.cloudfunctions.net/helloWorld
✔ Deploy complete!
Project Console: https://console.firebase.google.com/project/<Firebase のプロジェクト名>/overview
Hosting URL: https://<Firebase のプロジェクト名>.firebaseapp.com
다음 주소로 관리됩니다.정적 내용은 https:/
동적 내용은 https://us-central1-<Firebase 의 항목 이름입니다.cloudfunctions.net/helloWorld
마지막
여기까지 오면 퍼블릭과functions 폴더에 필요한 것을 자유롭게 넣을 수 있습니다.
익스프레스 등 중간 부분 등이 필요하다면 조금 더 깊이 들어가고 싶다면 이 문장 본가의 영상을 설명해 주기 때문에 이것도 참조할 수 있다.
그럼 안녕히 계세요.
Reference
이 문제에 관하여(Node.Firebase Hosting js 어플리케이션으로 가는 가장 짧은 길), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Satachito/items/c175645644af759cc71c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)