= Hostuj dynamiczną witrynę internetową w Google Firebase przy użyciu Node.js i Cloud Firestore DB =
Tushar Kapoor: (httpswww.tusharck.com/)
Demonstracyjny adres URL Gita: httpsgithub.com/tusharck/firebase-demo
= Dlaczego Hosting Firebase? =
Firebase to wszechstronna platforma aplikacji zbudowana na infrastrukturze Google, dzięki czemu zapewnia bezpieczny, szybki, bezpłatny (dostępne są również płatne opcje za dodatkowe zasoby) i łatwy sposób hostowania treści na aplikacje internetowe lub mobilne
== Kluczowe funkcje i zalety darmowej warstwy: ==
- Daje bezpłatną domenę niestandardową&
SSL(SSL zapewnia standardową warstwę bezpieczeństwa dla połączeń https
- Cloud Firestore: elastyczna i skalowalna baza danych do synchronizacji danych w czasie rzeczywistym między aplikacjami klienckimi
- Inne funkcje: Cloud Functions, Cloud Messaging (FCM), Crashlytics, Dynamic Links, Hosting, ML Kit, Storage, Performance Monitoring, Predictions and Test Lab (Funkcjonalność i zasoby tych produktów można zwiększyć, kupując płatny plan, ale usługi warstwy bezpłatnej są bardzo dobre. Aby zapoznać się z planami, sprawdź Cennik Firebase)
- Automatyczne skalowanie zasobów
= Kroki, aby hostować dynamiczną witrynę w Firebase =
== Wymagania ==
**1. Konto Google**Jeśli nie masz konta Google, musisz je założyć. Możesz to zrobić, przechodząc na stronę httpsaccounts.google.com/SignUp. **2. Node.js i npm** Mac/Windows Możesz pobrać instalator ze strony httpsnodejs.org/en/download/. Linuks
Wykonaj poniższe czynności, aby zainstalować Node.js:
1. Otwórz terminal
2. Uruchom następujące polecenia:
sudo apt-get install curlcurl -sL httpsdeb.nodesource.com/
setup_13.x| sudo bash -sudo apt install nodejs ** Użyłem Uwaga: ** **
setup_13.xponieważ w czasie samouczka była najnowsza wersja
**13**Możesz sprawdzić najnowszą wersję, przechodząc do httpsnodejs.org/en/
Aby sprawdzić, czy Node.js i npm zostały pomyślnie zainstalowane, uruchom następujące polecenia, które wyświetli zainstalowaną wersję:
węzeł -v
npm -v
**3. Firebase-CLI (Interfejs wiersza poleceń Są to narzędzia do zarządzania, przeglądania i wdrażania projektów Firebase
npm install -g firebase-tools
= Krok 1: Utwórz projekt Firebase =
- Przejdź do httpsfirebase.google.com i
Zaloguj się z prawego górnego rogu
- Kliknij
Przejdź do konsoli, z prawego górnego rogu
- Więc kliknij
Utwórz projekt, jak pokazano poniżej
4. Następną rzeczą jest wprowadzenie nazwy projektu i naciśnięcie przycisku Kontynuuj
5. Naciśnij Kontynuuj, aby włączyć Google Analytics dla swojego projektu Firebase (jeśli nie chcesz, zaznacz, aby wyłączyć)
6. Wybierz najbliższą lokalizację dla Google Analytics
7. Kliknij
**Utwórz projekt i poczekaj na jego załadowanie. Wtedy zobaczysz coś takiego jak poniżej
= Krok 2: Zainicjuj logowanie Firebase =
- Otwórz wiersz poleceń/terminal, a następnie utwórz i przejdź do nowego katalogu
mkdir mój-projekt-firebasecd mój-projekt-firebase
2. Aby hostować witrynę w Firebase, zaloguj się do Firebase za pomocą następującego polecenia. Po uruchomieniu polecenia otworzy się okno przeglądarki z prośbą o zalogowanie się do Firebase przy użyciu poświadczeń Google. Wprowadź tam poświadczenia, a Firebase zaloguje się do twojego systemu
logowanie do firebase
= Krok 3: Zainicjuj projekt Firebase w swoim systemie =
- Teraz musimy zainicjować projekt, który stworzyliśmy na konsoli Firebase w systemie. Aby to zrobić, uruchom poniższe polecenie
init bazy ogniowej
2. Naciśnij przycisk w dół, a następnie wybierz
**dwie rzeczy **naciskając **klawisz spacji
- Funkcje
- Hosting
Następnie
**naciśnij Enter**, aby kontynuować
3. Następnie wybierz
następnie naciśnij enter
**Użyj istniejącego projektu**
4. Naciśnij enter na
**my-firebase-project** **lub użyta nazwa projektu lub użyta nazwa projektu
5. Wybierz
**Javascript** i naciśnij Enter
6. Możesz powiedzieć
**Nie** do Czy chcesz używać ESLint do wyłapywania prawdopodobnych błędów i wymuszania stylu?
7. Wpisz
**Tak** do instalowania zależności za pomocą npm
8. Tutaj mamy do wykonania dwa zadania:
- Musisz wybrać katalog, w którym będzie znajdować się Twoja witryna i zasoby. Domyślnie tak jest
pubicMożesz nacisnąć enter, aby kontynuować lub zmienić żądaną nazwę katalogu
- Typy
Tak dla strony z pojedynczą aplikacją, aby Twoje dynamiczne adresy URL mogły zostać przekierowane do właściwego miejsca docelowego
9. Przetestuj aplikację Firebase w systemie lokalnym, uruchamiając następujące polecenie. Następnie idź do
**httplocalhost:5000**, aby zobaczyć, jak działa Twoja podstawowa witryna internetowa
firebase służyć -- tylko hosting, funkcje
Po otwarciu powinieneś zobaczyć coś takiego jak poniżej
**httplocalhost:5000** Adres URL
10. Zamknij serwer z poziomu terminala
= Krok 4: Instalowanie pakietów i tworzenie katalogu widoków dla dynamicznej witryny =
- Tutaj przełączymy się do katalogu funkcji, aby to zrobić
funkcje cd
**2. Install Express** Jest to minimalny i elastyczny framework aplikacji internetowych Node.js
npm i express --save
**3. Install Handle Bars** Jest to silnik szablonów dla Node.js używany do dynamicznego interfejsu strony internetowej
npm i kierownice --zapisz
**4. Zainstaluj konsolidację**
npm konsoliduję --save
5. Utwórz folder o nazwie
**views** w folderze **functions**, w którym będziemy przechowywać cały kod frontendu
mkdir
wyświetlenia
6. Przełącz się z powrotem do katalogu głównego, uruchamiając następującą komendę:
płyta CD .
= Krok 5: Konfigurowanie Firestore (baza danych w chmurze) =
== Konfiguracja bazy danych ==
- Przejdź do httpsconsole.firebase.google.com/
- Wybierz swój projekt
- Wybierać
Baza danych z panelu po lewej stronie
4. Kliknij
**Utwórz bazę danych**
5. Wybierz opcję Uruchom w trybie testowym, ponieważ w przeciwnym razie nie będziesz mieć dostępu do bazy danych ze swojego systemu. Zmienimy to ustawienie, gdy skończymy z rozwojem strony internetowej
Następnie kliknij
**Dalej** po wykonaniu tej czynności
6. Wybierz lokalizację bazy danych Firestore
**Po ustawieniu tej lokalizacji nie można jej później zmienić. Notatka: **
== Utwórz dane ==
- Kliknij na rozpoczęcie zbierania
2. Wprowadź
**Identyfikator kolekcji, z którego możesz teraz pobrać próbkę
3. Wprowadź przykładowe dane. Wchodzić
**sample_doc **jako **Identyfikator dokumentu. **Wprowadź **Nagłówek** w polu **. Podoba mi się chmura** wewnątrz **Wartość Następnie kliknij **Zapisz**
= Krok 6: Tworzenie dynamicznej zawartości witryny =
Porcję podzielimy na dwie części, w pierwszej zobaczymy jak pobrać dane z Firestore i wykorzystać w serwisie. W drugiej części zobaczymy, jak przesłać dane z formularza
**Najpierw pobierzemy dane uwierzytelniające, aby uzyskać dostęp do Firestore**
2. Kliknij
**ustawienia** z lewego panelu i przejdź do **Ustawień projektu**
3. Idź do
**Konta usług** i kliknij **Wygeneruj nowy klucz prywatny
4. Kliknij
**Generuj klucz Pojawi się wyskakujące okienko, aby pobrać klucz. Przechowuj klucz w folderze **functions** swojej witryny
== Pobieranie z Firestore ==
- Otwarty
index.jw folderze functions
2. Musimy zdefiniować niektóre biblioteki, które chcemy wykorzystać w naszej aplikacji. Są to te same biblioteki, które zainstalowaliśmy wcześniej
const functions = require('firebase-functionsconst express = require('expressconst silniki = require('consolidatevar hbs = require('handlebarsconst admin = require('firebase-admin
3. Tutaj ustawiamy kilka rzeczy:
- Zainicjuj aplikację za pomocą ekspresu
- Ustawimy nasz silnik jako kierownicę
- Następnie powiemy ekspresowi, że nasz kod interfejsu będzie znajdować się w folderze views
const app = expressapp.engine('hbs',engines.handlebars);app.set('viewsviewsapp.set('view enginehbs
4. Autoryzuj swoją aplikację, aby uzyskać dostęp do bazy danych Firestore
*Notatka:*
1. Zmień
**YOUR_SDK_NAMEjson z plikiem pobranym w celu uzyskania **danych logowania do Firestore2. Zmień adres URL bazy danych na adres URL swojej bazy danych. Aby zobaczyć adres URL, przejdź do **Ustawienia >Konto usługi**
var konto usługi = wymagaj
YOUR_SDK_NAME.jsonadmin.initializeApp({credential: admin.credential.cert(serviceAccount), databaseURL: "httpsmyfirebaseproject-bx54dasx3.firebaseio.com
5. Funkcja pobierania danych z Firestore
- Identyfikator kolekcji to
próbka
- Identyfikator dokumentu to
próbka_doc
Powyższe zdefiniowaliśmy podczas wprowadzania przykładowych danych
funkcja asynchroniczna getFirestoreconst firestore_con = oczekiwanie admin.firestoreconst writeResult = firestore_con.collection('sampledoc('sample_docgetthen(doc =>{
if (!doc.exists) { console.log('Brak takiego dokumentu}
else {powrót doc.data
.catch(err =>{ console.log('Błąd podczas pobierania dokumentu', errreturn writeResult
}
**Używamy Uwaga: ** **async**ponieważ musimy czekać na zakończenie operacji obietnicy między Bazą Danych a naszą stroną
6. Utwórz trasę i wyślij wynik do interfejsu użytkownika
app.getasync (żądanie, odpowiedź) var db_result = await getFirestoreresponse.render('indexdb_resultexports.app = functions.https.onRequest(app);
7. Stwórz
**index.hbs** w folderze **views**. hbs to plik handelbars Uwaga: **
8. Wpisz ten podstawowy kod HTML w środku
**index.hbs**, aby zobaczyć pobrany wynik