
Next.js без сервера PWA с огненной базой и крючками React

ПРИМЕЧАНИЕ 1: Этот шаблон конвертируется в TypeScript. Для Pure JavaScript см. Franch old-javascript
ПРИМЕЧАНИЕ 2: Это мой патлер V4 для веб -приложений React. См. Также My GraphQL + Postgres SQL Boilerplate, Redux + REST + Postgres SQL Boilerplate и Redux + REST + MongoDB Boilerplate. Для простой целевой страницы следующей.
Вы или ваша компания обнаружили полезным nextjs-pwa-firebase-boilerplate ? Пожалуйста, подумайте о том, чтобы дать небольшое пожертвование, это помогает мне тратить больше времени на проекты с открытым исходным кодом:
Это отличный шаблон для любого проекта, в котором вы хотите реагировать (с крючками) (со статическим генерацией сайта (SSG) или рендеринг на стороне сервера (SSR) , питаемой на следующем.js) в качестве фронта и Firebase в качестве бэкэнд. Молния быстро, все JavaScript.
manifest.json и Offline Support ( next-offline ).getStaticProps или SSR getServerSideProps .getStaticProps / getServerSideProps при изменении / добавлении таблиц базы данных.sitemap.xml и robots.txt .google-site-verification (см. config/config.ts ).config/config.ts и .env.local file.yarn lint / yarn fix ).yarn unit , еще не включен).
Смотрите NextJS-PWA-FireBase-BoilerPlate, работающий на Vercel здесь.

Клонировать это хранилище:
git clone https://github.com/tomsoderlund/nextjs-pwa-firebase-boilerplate.git [MY_APP]
cd [MY_APP]
Удалить папку .git так как вы хотите создать новый репозиторий
rm -rf .git
Установить зависимости:
yarn # or npm install
На этом этапе вам нужно настроить Firebase Firestore, см. Ниже.
Когда Firebase настроена, запустите веб -приложение по:
yarn dev
В производстве:
yarn build
yarn start
Если вы перейдете на http://localhost:3004/ вы увидите веб -страницу со списком статей (или пустой список, если вы не добавили ее).
name «Next.js Firebase PWA», «NextJS-PWA-FireBase-BoilerPlate» и description «Next.js без сервера PWA с Firebase и React Hooks» на что-то еще.version в package.json на 0.1.0 или аналогично.license в package.json на то, что соответствует вашему проекту. Основной элемент базы данных называется Article , но вы, вероятно, хотите что -то еще в вашем приложении.
Переименовать файлы:
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
Затем выполните поиск/замените в файлах для различного обсашения: article , Article , ARTICLE .
Поиск/замените на 3004 на что -то другое.
Настройка базы данных (если вам не нужна база данных, см. «Как удалить/заменить Firebase в качестве базы данных» ниже):
firebaseConfig (от настройки веб -приложения Firebase) до lib/data/firebase.ts.env.local , установив значение NEXT_PUBLIC_FIREBASE_API_KEY .yarn remove firebaselib/data/firebase.ts и изменить hooks/useArticles.tsx .createSqlRestRoutesServerless в sql-wizard чтобы настроить свои собственные маршруты API.yarn remove firebaseyarn add @supabase/supabase-jsNEXT_PUBLIC_SUPABASE_API_KEY to .env.locallib/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/firebasepages/_app.tsxpublic/app.cssPageHead.tsxpublic/manifest.jsonВам необходимо включить аутентификацию по электронной почте/пароля в https://console.firebase.google.com/project/yourapp/authentication/providers
ПРИМЕЧАНИЕ. Если вы настроили свой проект, используя кнопку развертывания, вам нужно клонировать свой собственный репо вместо этого репозитория.
Установите и разверните свой собственный проект, используя этот шаблон с Vercel. Все, что вам понадобится, это ваш ключ публичного API Firebase.