
Next.js serverloser PWA mit Firebase- und React -Hooks

Hinweis 1: Diese Kesselplatte wird in TypeScript umgewandelt. Für reine JavaScript siehe Zweig old-javascript
Anmerkung 2: Dies ist mein V4 -Boilerplate für React -Web -Apps. Siehe auch meine GraphQL + Postgres SQL -Kesselplatte, Redux + REST + Postgres SQL -Kesselplatte und Redux + REST + MongoDB -Kesselplatte. Eine einfache Landing-Seite von Next.js finden Sie in der nächsten Generen-Landing-Seite.
Haben Sie oder Ihr Unternehmen nextjs-pwa-firebase-boilerplate nützlich gefunden? Bitte erwägen Sie eine kleine Spende, sie hilft mir, mehr Zeit für Open-Source-Projekte zu verbringen:
Dies ist eine großartige Vorlage für ein Projekt, bei dem Sie reagieren möchten (mit Hooks) (mit statischer Site-Generierung (SSG) oder serverseitigem Rendering (SSR) , von Next.js) als Frontend und Firebase als Backend. Blitz schnell, alles JavaScript.
manifest.json und Offline Support ( next-offline ).getStaticProps oder SSR getServerSideProps verwenden.getStaticProps / getServerSideProps wenn Sie Datenbanktabellen ändern / hinzufügen.sitemap.xml und robots.txt .google-site-verification (siehe config/config.ts ).config/config.ts und .env.local -Datei.yarn lint / yarn fix ).yarn unit , noch nicht enthalten).
Siehe NEXTJS-PWA-FIREBASE-BOILERPLATE, die hier auf Vercel ausgeführt werden.

Klonen Sie dieses Repository:
git clone https://github.com/tomsoderlund/nextjs-pwa-firebase-boilerplate.git [MY_APP]
cd [MY_APP]
Entfernen Sie den Ordner .git , da Sie ein neues Repository erstellen möchten
rm -rf .git
Abhängigkeiten installieren:
yarn # or npm install
Zu diesem Zeitpunkt müssen Sie Firestore FireBase Firestore einrichten, siehe unten.
Wenn Firebase eingerichtet ist, starten Sie die Web -App mit:
yarn dev
In der Produktion:
yarn build
yarn start
Wenn Sie zu http://localhost:3004/ Sie navigieren, sehen Sie eine Webseite mit einer Liste von Artikeln (oder einer leeren Liste, wenn Sie keine hinzugefügt haben).
name "Next.js Firebase PWA", "NextJS-PWA-firebase-Boilerplate" und description "Next.js Serverless PWA mit Firebase und React Hooks" auf etwas anderes.version in package.json auf 0.1.0 oder ähnlich.license in package.json in das, was zu Ihrem Projekt passt. Das Hauptdatenbankelement heißt Article , aber Sie möchten wahrscheinlich etwas anderes in Ihrer App.
Benennen die Dateien um:
git mv hooks/useArticles.tsx hooks/use{NewName}s.tsx
mkdir -p components/{newName}s
git mv components/articles/CreateArticleForm.tsx components/{newName}s/Create{NewName}Form.tsx
git mv components/articles/ArticleDetails.tsx components/{newName}s/{NewName}Details.tsx
git mv components/articles/ArticleList.tsx components/{newName}s/{NewName}List.tsx
git mv components/articles/ArticleListItem.tsx components/{newName}s/{NewName}ListItem.tsx
rm -r components/articles
mkdir pages/{newName}s
git mv "pages/articles/[slug].tsx" "pages/{newName}s/[slug].tsx"
rm -r pages/articles
Suchen/ersetzen Sie dann in den Dateien für verschiedene Gehäuse: article , Article , ARTICLE .
Suchen/ersetzen Sie 3004 für etwas anderes.
Richten Sie die Datenbank ein (wenn Sie keine Datenbank benötigen, finden Sie unten "So entfernen/ersetzen Sie Firebase als Datenbank" unten):
firebaseConfig (von der Einrichtung der Firebase Web App) in lib/data/firebase.ts.env.local -Datei und setzen Sie den Wert NEXT_PUBLIC_FIREBASE_API_KEY ein.yarn remove firebaselib/data/firebase.ts und ändern Sie hooks/useArticles.tsx .createSqlRestRoutesServerless in sql-wizard um Ihre eigenen API-Routen einzurichten.yarn remove firebaseyarn add @supabase/supabase-jsNEXT_PUBLIC_SUPABASE_API_KEY zu .env.local hinzulib/data/supabase.ts : import { createClient } from '@supabase/supabase-js'
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL
const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_API_KEY
export const supabase = createClient(supabaseUrl, supabaseKey)
lib/data/firebase verweisenpages/_app.tsxpublic/app.cssPageHead.tsxpublic/manifest.jsonSie müssen eine E -Mail/Passwort -Authentifizierung in https://console.firebase.google.com/project/yourapp/authentication/providers aktivieren
Hinweis: Wenn Sie Ihr Projekt mit der Schaltfläche Bereitstellung einrichten, müssen Sie Ihr eigenes Repo anstelle dieses Repositorys klonen.
Richten Sie und bereitstellen Sie Ihr eigenes Projekt mit dieser Vorlage mit Vercel ein. Alles, was Sie brauchen, ist Ihr öffentlicher API -Schlüssel für FireBase.