O Express.js ainda é a porta de entrada para o universo back-end do JavaScript para muita gente. Durante muitos anos, a forma mais simples de criar um projeto Node.js para usar com o Express era executando o comando npx express-generator
.
No entanto, se tentarmos utilizar o express-generator
atualmente, o resultado após instalar as dependências com npm install
é este:
Ou seja, pacotes com versões desatualizadas e vulneráveis (não, não adianta executar npm audit fix --force
).
Felizmente, existe pelo menos uma alternativa (se você conhece outras, deixe aí nos comentários). Trata-se de um projeto chamado create-express-app, que gera um projeto com dependências atualizadas, e não só. Os imports dentro do projeto seguem o padrão ES6, e o utilitário oferece as opções de criação do projeto já com TypeScript configurado e opções mais recentes de template engines.
Para criar um projeto com Express.js utilizando o create-express-app
, basta executar no terminal:
npx @kba-tools/create-express-app
Na primeira execução, assim como acontece com qualquer pacote executado com npx
, é perguntado se deseja continuar. Tecle Y
.
Em seguida, o utilitário pede para que seja fornecido um nome para o projeto.
Como mencionei anteriormente, o create-express-app oferece a opção de criar o projeto com TypeScript. Para selecioná-la, use a seta para baixo e depois tecle Enter.
Embora seja muito utilizado para a criação de APIs RESTful, o Express.js também se integra a template engines caso você queira utilizar o framework como uma solução fullstack. Ao ser perguntado sobre qual templete engine deseja usar, deixe o default None
se o seu objetivo é implementar apenas um back-end em Node.js.
Seu projeto pode ser configurado também para utilizar outro gerenciador de pacote que não o npm
padrão.
Essas são todas as perguntas. Na sequência, o utilitário já instalará todas as dependências, deixando o projeto pronto para ser executado. Basta mudar para a pasta do projeto recém-criado e executar npm run dev
no terminal.
Note que nenhuma vulnerabilidade é encontrada após serem instaladas as dependências, uma vez que o create-express-app
procura instalar as versões mais recentes dos pacotes necessários.
Está tudo pronto. Happy coding!
Créditos da imagem em destaque: externlabs