Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

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 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:

--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.