
Next.JS PWA sem servidor com ganchos de Firebase e React

Nota 1: Este caldeira está sendo convertido em TypeScript. Para JavaScript puro, consulte o ramo old-javascript
Nota 2: Este é o meu caldeira V4 para aplicativos da Web React. Consulte também o meu grafQL + PostGres SQL Boilerplate, Redux + REST + PostGres SQL Boilerplate e Redux + REST + MongoDODB Boilerplate. Para uma página de destino simples do Next.js, consulte a página de pouso genérico NextJS.
Você ou sua empresa encontraram nextjs-pwa-firebase-boilerplate Por favor, considere fazer uma pequena doação, isso me ajuda a gastar mais tempo em projetos de código aberto:
Este é um ótimo modelo para um projeto em que você deseja reagir (com ganchos) (com geração estática de geração de sites (SSG) ou renderização do lado do servidor (SSR) , alimentado pelo Next.js) como front-end e FireBase como back-end. Lightning Fast, todo JavaScript.
manifest.json e suporte offline ( next-offline ).getStaticProps ou o SSR getServerSideProps .getStaticProps / getServerSideProps ao alterar / adicionar tabelas de banco de dados.sitemap.xml e robots.txt .google-site-verification (consulte config/config.ts ).config/config.ts e .env.local .yarn lint / yarn fix ).yarn unit , ainda não incluída).
Consulte NextJS-PWA-FIRBASE-BOILERPLATEN ON ON ON VERCEL AQUI.

Clone este repositório:
git clone https://github.com/tomsoderlund/nextjs-pwa-firebase-boilerplate.git [MY_APP]
cd [MY_APP]
Remova a pasta .git , pois deseja criar um novo repositório
rm -rf .git
Instale dependências:
yarn # or npm install
Neste ponto, você precisa configurar o Firebase Firestore, veja abaixo.
Quando o Firebase estiver configurado, inicie o aplicativo da web por:
yarn dev
Na produção:
yarn build
yarn start
Se você navegar para http://localhost:3004/ você verá uma página da web com uma lista de artigos (ou uma lista vazia se você não adicionou uma).
name "Next.js Firebase PWA", "NextJs-Pwa-FireBase-Boilerplate" e description "Next.js sem servidor PWA com ganchos de Firebase e React" para outra coisa.version no package.json para 0.1.0 ou similar.license no package.json para qualquer ser adequado ao seu projeto. O item principal do banco de dados é chamado de Article , mas você provavelmente deseja outra coisa no seu aplicativo.
Renomeie os arquivos:
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
Em seguida, pesquise/substitua dentro dos arquivos por diferentes invólucros: article , Article , ARTICLE .
Pesquise/substitua 3004 por outra coisa.
Configure o banco de dados (se você não precisar de um banco de dados, consulte “Como remover/substituir o Firebase como banco de dados” abaixo):
firebaseConfig (de ao configurar o aplicativo da Web Firebase) para lib/data/firebase.ts.env.local , configurando o NEXT_PUBLIC_FIREBASE_API_KEY valor do valor.yarn remove firebaselib/data/firebase.ts e modifique hooks/useArticles.tsx .createSqlRestRoutesServerless no sql-wizard para configurar suas próprias rotas de API.yarn remove firebaseyarn add @supabase/supabase-jsNEXT_PUBLIC_SUPABASE_API_KEY para .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.jsonVocê precisa ativar a autenticação de email/senha em https://console.firebase.google.com/project/yourapp/authentication/providers
NOTA: Se você configurar seu projeto usando o botão de implantação, precisará clonar seu próprio repositório em vez deste repositório.
Configure e implante seu próprio projeto usando este modelo com o Vercel. Tudo o que você precisará é da sua chave de API pública do Firebase.