Em outubro de 2022, o Node.js lançou sua 19ª versão. Ele veio seis meses após o lançamento do Node.js v.18, que apresentava atualizações significativas, como o módulo executor de testes nativo.
Um recurso notável no Node.js 19 é o novo e experimental modo de exibição. Isso permite que você faça alterações em seu servidor sem precisar reiniciá-lo.
Antes do Node.js 19, o modo de observação só era possível usando bibliotecas de terceiros. Aprenda a usar o modo de observação e explore outras atualizações do Node.js na versão 19.
Novo modo de observação do nó
O Node.js 19 apresenta a versão experimental --assistir sinalizador, que reinicia um servidor Node.js quando detecta alterações no arquivo especificado. Você poderia fazer isso anteriormente usando uma biblioteca de terceiros chamada nodemon, mas a atualização remove a necessidade de uma dependência adicionando sua funcionalidade ao Node.js.
Para reiniciar seu servidor Node.js usando o --assistir bandeira, execute o nó comando com o --assistir sinalizador seguido pelo nome do arquivo que você deseja reiniciar quando o Node detectar alterações.
Por exemplo, considere este bloco de código como um server.js arquivo:
// server.js
const expresso = exigir("expressar");
const aplicativo = expresso();
const PORTA = 6060;
app.listen (PORT, () => console.registro(`App ouvindo na porta: ${PORTA}`));
Para observar as alterações neste arquivo e reiniciar o servidor quando elas ocorrerem, execute este comando no seu terminal:
nó --watch server
O comando observará seu arquivo server.js e reiniciará o servidor Node.js quando detectar alterações feitas no arquivo.
Vale a pena notar que esse recurso ainda é experimental, o que significa que você pode ter problemas ao usar o --assistir flag para reiniciar seu servidor.
Outras atualizações e correções
Outras melhorias e correções fornecidas com o Node.js 19 incluem o seguinte.
HTTP Keep-Alive por padrão
O http/https do módulo mantenha vivo A opção controla se deve manter uma conexão com um servidor depois de concluir uma solicitação. Originalmente, você teria que definir o mantenha vivo opção para verdadeiro manualmente. Esta opção instrui o servidor a manter a conexão aberta e reutilizá-la para solicitações subsequentes.
No Node.js 19, o mantenha vivo opção é definida como verdadeira por padrão. Esta adição reduzirá significativamente a sobrecarga de estabelecer novas conexões.
Estabilização da API WebCrypto
A API WebCrypto é a implementação do Node.js de o padrão Web Crypto API. Com o Node.js 19, a implementação do WebCrypto agora é estável, exceto pelo Ed25519, Ed448, X25519, e X448 algoritmos.
Você pode acessar esta API usando o globalThis módulo ou o nó: prefixo que Node.js 18 introduzido para diferenciar os principais módulos Node.js de bibliotecas de terceiros.
Por exemplo:
// nó: prefixo
const cripto = exigir("nó: cripto");
// globalThis
const webcrypt = globalThis.crypto;
Ajustes personalizados de resolução ESM
Node.js 19 remove o anteriormente experimental --resolução-especificador-experimental bandeira. Isso forneceu suporte experimental para localizar arquivos usando especificadores de pacote, semelhante a como o ECMAScript importa módulos.
O Node.js removeu esse sinalizador porque você pode replicar sua funcionalidade usando carregadores personalizados. Você pode usar carregadores personalizados para oferecer suporte a mais formatos de módulo ou para processar os módulos antes de carregá-los, pois eles permitem que você forneça sua lógica exclusiva para carregar e processar módulos.
Remoção do suporte DTrace/SystemTap/ETW
DTrace, SystemTap e ETW (Event Tracing for Windows) são módulos que oferecem rastreamento dinâmico e análise de programas em execução. Originalmente no Node.js, você poderia usá-los para coletar dados sobre a atividade de um aplicativo, incluindo indicadores de desempenho, erros e outras possíveis ocorrências de tempo de execução.
No Node.js 19, o Node.js removeu o suporte para DTrace, SystemTap e ETW porque a complexidade envolvida em manter e manter esses módulos atualizados ainda não valeu a pena. Então, para priorizar seus recursos, eles abandonaram o suporte a eles.
Atualizando para Node.js 19
O Node.js 19 apresenta vários recursos e melhorias que vale a pena considerar para seu aplicativo, incluindo o novo modo de observação, entre outros discutidos acima. Para atualizar para o Node.js 19, acesse o site oficial e baixe a versão atual.