Do download ao alojamento web — tudo o que precisa para publicar o seu projeto gerado por IA
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.
O resultado será uma página em branco — isto é normal e explicado na secção de diagnóstico abaixo.
Garante versionamento, backup e facilita futuras atualizações:
Pode clonar o repositório com git clone em vez de descarregar ZIPs repetidamente, mantendo o histórico de alterações.
Se precisar apenas de um ficheiro específico (ex: config.json, componentes em src/):
Este comportamento é perfeitamente normal. Projetos modernos em React com Vite não funcionam ao abrir o index.html diretamente no navegador via protocolo file://.
| 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). |
Para ver o site a funcionar no seu computador, necessita de criar um servidor de desenvolvimento local.
O Node.js inclui o gestor de pacotes npm, necessário para executar projetos React/Vite.
terminalnode --version
npm --version
Node.js 18.x ou superior. O Vite funciona melhor com esta versão ou mais recente.
cmd e prima Enter.cd /caminho/para/a/pasta.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).
Se vir o site a funcionar em localhost:5173, o projeto está correto. Pode agora proceder ao 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:
index.html — ponto de entrada do site.assets/ — JavaScript, CSS e imagens otimizados com hash no nome (ex: index-abc123.js).Esta pasta é gerada automaticamente. Qualquer alteração será perdida ao executar npm run build novamente. Edite sempre os ficheiros fonte (pasta src/) e reconstrua.
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.
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.
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
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).No gestor de ficheiros do alojamento (cPanel → File Manager, ou FTP):
public_html/, httpdocs/ ou www/).dist/ no seu computador — não envie a pasta dist como um todo.dist/ (o index.html, a pasta assets/, etc.) para a pasta do servidor.default.html, index.php (se não for necessário), index.htm antigo.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.
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>
Adicione ao ficheiro de configuração:
nginxlocation / {
try_files $uri $uri/ /index.html;
}
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>
Se prefere não configurar servidores manualmente, existem plataformas gratuitas que automatizam o processo:
Arraste a pasta dist/ ou ligue ao GitHub. CDN global, HTTPS automático, previews por branch.
Arraste a pasta dist/ (Netlify Drop). Form handling, redirects, edge functions.
Push para branch gh-pages ou use GitHub Actions. Gratuito, integrado com repositório.
CLI simples: npm install -g surge e surge dist/. Domínio personalizado gratuito.
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).
npm installO package.json pode estar corrompido ou incompleto. Soluções:
limpar e reinstalarrm -rf node_modules package-lock.json
npm cache clean --force
npm install
usar outra portanpm run dev -- --port 3000
Ou altere no vite.config.ts:
vite.config.tsexport default defineConfig({
plugins: [react()],
base: './',
server: {
port: 3000,
},
})
Em projetos muito grandes:
aumentar memórianode --max-old-space-size=4096 npm run build
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" />
O Vite adiciona hashes automáticos aos ficheiros em npm run build, mas o index.html pode estar em cache. Force a atualização:
index.html:
anti-cache<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
npm install executado sem errosnpm run dev funciona em localhost:5173base: './' configurado no vite.config.ts (se necessário)npm run build executado com sucessodist/ verificada com serve -s distdist/ copiados para a raiz do servidordefault.html, index.php).htaccess criado com reescrita de rotasSe 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.