Vite é uma ferramenta de construção rápida e moderna que pode ser usada para criar projetos React, e configurá-lo como uma PWA envolve algumas etapas adicionais, mas é bastante direto. Aqui está um guia passo a passo:
Primeiro, crie um novo projeto React usando Vite:
npm create vite@latest random-number-generator -- --template react
cd random-number-generator
npm install
Abra o arquivo src/App.jsx
e substitua o conteúdo pelo seguinte:
import React, { useState } from 'react';
import './App.css';
function App() {
const [number, setNumber] = useState(null);
const generateRandomNumber = () => {
const randomNumber = Math.floor(Math.random() * 6) + 1; // Gera um número entre 1 e 6
setNumber(randomNumber);
};
return (
<div className="App">
<header className="App-header">
<h1>Gerador de Número Aleatório</h1>
<button onClick={generateRandomNumber}>Gerar Número</button>
{number && <p>Número Gerado: {number}</p>}
</header>
</div>
);
}
export default App;
Vite possui um plugin oficial para configurar PWA. Instale-o:
npm install vite-plugin-pwa
Abra o arquivo vite.config.js
e configure o plugin PWA:
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { VitePWA } from 'vite-plugin-pwa';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
VitePWA({
registerType: 'autoUpdate',
manifest: {
name: 'Gerador de Número Aleatório',
short_name: 'RNG',
description: 'Um simples gerador de número aleatório',
theme_color: '#ffffff',
icons: [
{
src: '/favicon.ico',
sizes: '64x64 32x32 24x24 16x16',
type: 'image/x-icon'
},
{
src: '/logo192.png',
sizes: '192x192',
type: 'image/png'
},
{
src: '/logo512.png',
sizes: '512x512',
type: 'image/png'
}
]
}
})
]
});
Adicione os ícones logo192.png
e logo512.png
na pasta public
. O manifest.json
será gerado automaticamente com base na configuração do plugin.
Certifique-se de que seu public/index.html
inclua a referência ao manifest e ao service worker:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="manifest" href="https://github.com/rafaellindemann/dadoPWA/blob/main/manifest.webmanifest" />
<title>Gerador de Número Aleatório</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="https://github.com/rafaellindemann/dadoPWA/raw/main/src/main.jsx"></script>
</body>
</html>
Construa a aplicação para produção:
npm run build
Depois, você pode hospedar a pasta dist
resultante em qualquer servidor web ou serviço de hospedagem como Vercel, Netlify, GitHub Pages, etc.
Seguindo esses passos, você terá uma PWA funcional de um gerador de número aleatório utilizando Vite.