1
resposta

localhost:3000

Bom dia.

Creio que a minha dúvida seja bastante simples, porém não consegui entender.

No início da aula, o professor executa o comando npm start para subir o servidor. Vi que no arquivo package.json o comando start executa o arquivo server.js, mas não entendi como o servidor entende qual arquivo será aberto em localhost:3000. O arquivo aberto é o nosso index.html, mas não entendi onde esse arquivo é referenciado. Como faria caso quisesse que o meu servidor abrisse outro arquivo em localhost:3000? Poderiam me ajudar?

1 resposta

Olá Paulo, tudo bem com você?

Peço desculpas pela demora no retorno.

Ao executar o comando npm start, o servidor Node.js iniciará e procurará o arquivo definido na propriedade main do arquivo package.json para iniciar o servidor. No nosso caso é o arquivo server.js que é definido como o valor da propriedade main. E dentro do arquivo server.js possuímos uma declaração para o arquivo de configuração express.js, responsável por fazer a linkagem com a pasta client, onde temos o arquivo index.html. Isto é feito através da seguinte linha:

app.set('clientPath', path.join(__dirname, '../..', 'client'))

No código acima, fazemos a linkagem para a pasta client, definindo a mesma como pasta base para o projeto.

Com isto em mente, é importante ressaltar que o arquivo padrão que o servidor irá procurar na pasta do cliente (client) quando nenhum arquivo específico é solicitado é o arquivo index.html. Isso é uma convenção padrão em muitos servidores web e frameworks, incluindo o Express.

Se você desejar alterar o nome do arquivo padrão que o servidor irá procurar, você pode alterar a configuração padrão do Express. Por exemplo, se você quiser que o servidor procure pelo arquivopost.html em vez do index.html, você pode adicionar o seguinte código no arquivo server/config/express.js:

app.get('/', function(req, res) {
  res.sendFile(path.join(__dirname, '../..', 'client', 'post.html'));
});

O código acima define que a rota / (rota inicial) deverá ser iniciada com o arquivo post.html . Este código deve ser adicionado após a linha da instrução app.set('clientPath', path.join(__dirname, '../..', 'client')).

Após realizar as mudanças, salve o arquivo express.js. Inicie a aplicação executando o comando npm start dentro da pasta server.

Espero ter ajudado. Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!