GUIA COMPLETO

Bolt.new → React → Produção

Do download ao alojamento web — tudo o que precisa para publicar o seu projeto gerado por IA

Indice

1 Introdução e Download 2 Diagnóstico de Erros 3 Execução Local 4 Build de Produção 5 Servidor Web 6 Plataformas Automatizadas 7 Resolução de Problemas 8 Checklist Final

📁 Introdução e Download do Código

O que é o Bolt.new?

O Bolt.new é uma plataforma de IA que gera aplicações web completas (React, Vite, TypeScript) a partir de descrições em linguagem natural. O código gerado é seu — pode descarregá-lo, modificar e publicar onde desejar.

💬
Descreve
IA Gera
💾
Descarrega
🌐
Publica

Opção 1 — Descarregar como ZIP (mais rápida)

  1. No canto superior direito da interface do Bolt.new, clique no ícone do GitHub.
  2. Selecione “Download Project” ou “Download ZIP”.
  3. Extraia o ficheiro ZIP para uma pasta no seu computador.
Não abra o index.html com duplo clique!

O resultado será uma página em branco — isto é normal e explicado na secção de diagnóstico abaixo.

Opção 2 — Exportar para GitHub (recomendada)

Garante versionamento, backup e facilita futuras atualizações:

  1. Clique no ícone do GitHub no canto superior direito.
  2. Selecione “Create Repository” ou “Connect to GitHub”.
  3. Autorize o Bolt.new a aceder à sua conta GitHub.
  4. No repositório criado, clique em “Code”“Download ZIP”.
Vantagem do GitHub

Pode clonar o repositório com git clone em vez de descarregar ZIPs repetidamente, mantendo o histórico de alterações.

Opção 3 — Ficheiros individuais

Se precisar apenas de um ficheiro específico (ex: config.json, componentes em src/):

  1. Na barra lateral esquerda (painel Files), clique com o botão direito no ficheiro desejado.
  2. Selecione “Download” (se disponível).

🔍 Diagnóstico de Erros Comuns

Utilizador: “Tenho esta pasta com um site e um index, mas quando abro o index mostra uma página em branco. Como resolver?”

Este comportamento é perfeitamente normal. Projetos modernos em React com Vite não funcionam ao abrir o index.html diretamente no navegador via protocolo file://.

Porquê acontece isto?

Problema Causa Solução
Página em branco ao abrir index.html O navegador bloqueia módulos ES6 e TypeScript via file:// por questões de segurança. Servidor de desenvolvimento local (npm run dev).
Erros de CORS na consola Pedidos Fetch/APIs bloqueados em ficheiros locais. Servidor local ou HTTPS em produção.
Caminhos de assets quebrados Caminhos absolutos (/assets/...) não resolvem em subpastas. Configurar base: './' no Vite.
Erro 404 ao recarregar páginas internas O servidor procura pastas físicas para rotas do React Router. Configurar reescrita de rotas (SPA fallback).

Fase 1: Execução Local (Desenvolvimento)

Para ver o site a funcionar no seu computador, necessita de criar um servidor de desenvolvimento local.

Instalar o Node.js

O Node.js inclui o gestor de pacotes npm, necessário para executar projetos React/Vite.

  1. Aceda a nodejs.org.
  2. Descarregue a versão LTS (Long Term Support) — a mais estável.
  3. Instale com as opções predefinidas.
  4. Verifique a instalação no terminal:
    terminalnode --version
    npm --version
Versão recomendada

Node.js 18.x ou superior. O Vite funciona melhor com esta versão ou mais recente.

Abrir o Terminal na Pasta do Projeto

  • Windows: Entre na pasta do projeto extraída, clique na barra de endereço do Explorador, digite cmd e prima Enter.
  • Mac: Clique com o botão direito na pasta → “New Terminal at Folder”.
  • Linux: Abra o Terminal e execute cd /caminho/para/a/pasta.

Instalar Dependências e Iniciar o Servidor

No terminal (dentro da pasta do projeto), execute sequencialmente:

instalarnpm install

Este comando descarrega todas as bibliotecas necessárias (React, Vite, etc.) para a pasta node_modules. Pode demorar alguns minutos na primeira vez.

executarnpm run dev

O terminal irá mostrar um endereço local, habitualmente:

output➤  Local:   http://localhost:5173/
➤  Network: http://192.168.1.100:5173/

Copie o endereço http://localhost:5173/ e cole no navegador. O site estará ativo com hot reload (atualiza automaticamente quando altera ficheiros).

Sucesso!

Se vir o site a funcionar em localhost:5173, o projeto está correto. Pode agora proceder ao build de produção.

🔧 Fase 2: Build de Produção

Quando o site estiver pronto para publicação, gere os ficheiros estáticos otimizados:

buildnpm run build

Este comando cria uma pasta dist/ contendo:

Nunca edite ficheiros dentro de dist/!

Esta pasta é gerada automaticamente. Qualquer alteração será perdida ao executar npm run build novamente. Edite sempre os ficheiros fonte (pasta src/) e reconstrua.

Verificar o Build Localmente

Antes de enviar para o servidor, teste o build:

pré-visualizarnpm install -g serve
serve -s dist

Aceda a http://localhost:3000 para confirmar que tudo funciona como esperado.

🌐 Fase 3: Publicação em Servidor Web

Se ao carregar o conteúdo de dist/ para o servidor (cPanel, Plesk, etc.) a página continuar em branco, siga estas correções por ordem.

5.1 — Configurar Caminhos Relativos no Vite

Por padrão, o Vite assume que o site fica na raiz do domínio (/). Se estiver numa subpasta, os caminhos dos assets falham.

Edite o ficheiro vite.config.ts (ou vite.config.js) na raiz do projeto:

vite.config.tsimport { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
  base: './',  // caminhos relativos
})

Após guardar, execute novamente:

reconstruirnpm run build
Quando usar base diferente?
  • base: './' — Site na raiz ou subpasta (mais universal).
  • base: '/meu-site/' — Site numa subpasta específica (ex: meudominio.pt/meu-site/).
  • base: '/' — Site na raiz absoluta (padrão do Vite).

5.2 — Organizar Ficheiros no Servidor

No gestor de ficheiros do alojamento (cPanel → File Manager, ou FTP):

  1. Aceda à pasta do site (habitualmente public_html/, httpdocs/ ou www/).
  2. Abra a pasta dist/ no seu computador — não envie a pasta dist como um todo.
  3. Copie apenas o conteúdo interior de dist/ (o index.html, a pasta assets/, etc.) para a pasta do servidor.
  4. Remova ficheiros pré-existentes que possam conflitar: default.html, index.php (se não for necessário), index.htm antigo.
Estrutura correta no servidor
public_html/
├── index.html
├── assets/
│   ├── index-abc123.js
│   ├── index-def456.css
│   └── ...
└── .htaccess

Errado: public_html/dist/index.html — o site não funcionará nesta estrutura.

5.3 — Configurar Reescrita de Rotas (.htaccess)

Se o projeto usa React Router com BrowserRouter, o servidor tentará procurar pastas físicas para cada URL e devolverá erro 404.

Crie um ficheiro .htaccess na raiz do site (junto ao index.html):

.htaccess<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>
Alternativa para servidores Nginx

Adicione ao ficheiro de configuração:

nginxlocation / {
  try_files $uri $uri/ /index.html;
}

5.4 — Configurar MIME Types (se necessário)

Alguns alojamentos antigos não reconhecem ficheiros .js com módulos ES6. Se vir erros de MIME type na consola do navegador, adicione ao .htaccess:

.htaccess<IfModule mod_mime.c>
  AddType application/javascript .js
  AddType text/css .css
</IfModule>

🚀 Fase 4: Plataformas Automatizadas

Se prefere não configurar servidores manualmente, existem plataformas gratuitas que automatizam o processo:

Vercel

Arraste a pasta dist/ ou ligue ao GitHub. CDN global, HTTPS automático, previews por branch.

Netlify

Arraste a pasta dist/ (Netlify Drop). Form handling, redirects, edge functions.

GitHub Pages

Push para branch gh-pages ou use GitHub Actions. Gratuito, integrado com repositório.

Surge.sh

CLI simples: npm install -g surge e surge dist/. Domínio personalizado gratuito.

Dica de isolamento

Se o site funcionar no Netlify/Vercel mas não no seu alojamento partilhado, o código está correto — o problema é de configuração do servidor (caminhos, .htaccess ou cache).

🔥 Resolução de Problemas Avançada

Erro: “Cannot find module” ao executar npm install

O package.json pode estar corrompido ou incompleto. Soluções:

limpar e reinstalarrm -rf node_modules package-lock.json
npm cache clean --force
npm install

Erro: Porta 5173 já em uso

usar outra portanpm run dev -- --port 3000

Ou altere no vite.config.ts:

vite.config.tsexport default defineConfig({
  plugins: [react()],
  base: './',
  server: {
    port: 3000,
  },
})

Erro: Build falha com “out of memory”

Em projetos muito grandes:

aumentar memórianode --max-old-space-size=4096 npm run build

Imagens não aparecem em produção

Verifique se as imagens estão na pasta public/ ou se são importadas corretamente no código:

referência correta// Imagem na pasta public/
<img src="/logo.png" alt="Logo" />

// Imagem importada
import logo from './assets/logo.png';
<img src={logo} alt="Logo" />

Cache do navegador mostra versão antiga

O Vite adiciona hashes automáticos aos ficheiros em npm run build, mas o index.html pode estar em cache. Force a atualização:

Checklist Final de Publicação

Parabéns!

Se seguiu todos os passos acima, o seu projeto React gerado no Bolt.new está agora online e acessível ao público. Para atualizações futuras, repita apenas os passos de build e upload.