Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Publicação AWS EC2

Bom dia, amigos! Estou precisando de uma ajuda de alguém com experiência em publicação de site em React. Refiz meu site https://dogacao.org/ e estou publicando-o na AWS em um servidor EC2 junto com o nodejs, docker com postgres e redis, mas a versão que foi publicada foi a de dev e com isso a avaliação do meu site no Google PageSpeed foi muito baixa. Alguém consegue me ajudar? Estou utilizando o pm2 start npm – start para rodar a versão.

3 respostas

Fala ai Rafael, tudo bem? Bom, o que você vai precisar é primeiro buildar seu projeto:

npm run build

Isso vai gerar os assets, empacotar o projeto, minificar, remover código não utilizado, etc...

Uma vez que o build terminou, ele vai gerar uma pasta dist. Dentro dessa pasta contém o index.html e demais asset's necessários para o funcionamento do mesmo.

O que você precisa fazer é subir um servidor que vai retornar o dist/index.html.

Esse servidor tem N maneiras de ser construído, nesse momento o que eu sugiro é usar a biblioteca serve:

npm i -G serve

E depois com o pm2 você pode tentar subir ela:

pm2 start "serve -s ./dist"

Obs O comando acima deve ser rodado na pasta onde encontra-se a pasta dist, ou seja, na raiz do seu projeto React.

Tente assim, se não der certo podemos criar um servidor em Express para servir a aplicação (que seria o recomendável).

Caso não seja a solução, vamos nos falando.

Espero ter ajudado.

solução!

Obrigado pelo retorno, mas já havia conseguido publicar criando um arquivo server.js com o código abaixo.

const express = require('express');
const path = require('path');
const app = express();
app.use('/static', express.static(path.join(__dirname, 'build/static')));
app.get('*', function(req, res) {
res.sendFile('index.html', {
root: path.join(__dirname, 'build/'),
});
});
app.listen(3000);

Muito bom, fico feliz que tenha resolvido seu problema.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.