O novo modo de observação do Node.js 19 e outros recursos que você deve conhecer

O novo modo de observação do Node.js 19 e outros recursos que você deve conhecer

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 observaçã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 o sinalizador experimental –watch , 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 sinalizador –watch , execute o comando node com o sinalizador –watch seguido do nome do arquivo que deseja reiniciar quando o Node detectar alterações.

Por exemplo, considere este bloco de código como um arquivo server.js :

// server.js
const express = require("express");
const app = express();
const PORT = 6060;

app.listen(PORT, () => console.log(`App listening on port: ${PORT}`));

Para observar as alterações neste arquivo e reiniciar o servidor quando elas ocorrerem, execute este comando no seu terminal:

node --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 sinalizador –watch para reiniciar o 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

A opção keepAlive do módulo http/https controla se ele deve manter uma conexão com um servidor após concluir uma solicitação. Originalmente, você teria que definir manualmente a opção keepAlive como true . Esta opção instrui o servidor a manter a conexão aberta e reutilizá-la para solicitações subsequentes.

No Node.js 19, a opção keepAlive é definida como true 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 do padrão Web Crypto API . Com o Node.js 19, a implementação do WebCrypto agora é estável, exceto para os algoritmos Ed25519 , Ed448 , X25519 e X448 .

Você pode acessar essa API usando o módulo globalThis ou o prefixo node: que o Node.js 18 introduziu para diferenciar os módulos principais do Node.js de bibliotecas de terceiros.

Por exemplo:

// node: prefix
const crypto = require("node:crypto");

// globalThis
const webcrypt = globalThis.crypto;

Ajustes personalizados de resolução ESM

O Node.js 19 remove o sinalizador experimental –experimental-specificifier-resolution . 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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *