Node.js 16의 새로운 시작

Em abril de 2021 foi anunciado o lançamento da versão 16 do Node.js , como é de costume, as versões pares do runtime são as thinkadas production ready ou seja, as versões que serão definitivas para produção.

처음에는 LTS(Long Term Support) 버전에서 2021년 14월 16일 버전을 현재 버전 16 버전으로 보내드립니다. 다음은 14번째 제품에 대한 estado de manutenção e versão 16 será promovida a LTS, isso significa que a versão 14 receberá somente atualizações de segurança e manutenção, enquanto a versão 16 estará recebendo suporte ativo. Tudo isso pode ser visto no calendário de releases oficial .

Node.js 릴리스 일정은 최신 16개 버전 중 가장 많습니다.

Esse controle de versões é importante, pois como podemos ver no diagrama, a versão 10 perdeu totalmente o suporte em maio, esta era a última versão que não suportava ES Modules nativamente , o que significa que agora todo mundo que mantém um pacote ou uma lib No NPM poderá utilizar por padrão a nova estrutura!

Vamos as principais diferenças desta nova versão

V8 foi atualizado para versão 9.0



O 엔진 JavaScript는 Node.js의 버전 9.0 릴리스에서 일상적인 작업을 수행할 수 있으며, 최신 버전을 사용할 수 없으며, 합법적인 지원을 받을 수 있습니다.

Na versão 9.1 do V8, teremos suporte a top-level await, o que vai tornar a nossa vida muito mais simples



Além das naturais melhorias de performance e estabilidade, esta versão tem uma modificação especial nas expressões regulares, que agora trazem uma nova chave para o resultado de exec . Anteriormente, não tínhamos como saber quais eram os inícios e finais de uma string que foi comparada com RegExp, ou seja, não tínhamos como saber em qual índice da string este valor apareceu, agora, através da chave indices podemos saber exatamente o início eo final de uma string que foi rodada contra uma RegExp que tenha a flag/d 세타다:

const str = /(Java)(Script)/d.exec('JavaScript')

str.indices // [[0,10], [0,4], [4,10] ]
str.indices[0] // [0,10] -> toda a string
str.indices[1] // [0,4] -> primeiro grupo ("Java")
str.indices[2] // [4,10] -> segundo grupo ("Script")


Biblioteca timers/promises estável



Semper que precisamos usar uma função do tipo setTimeout , setInterval ou qualquer outra função que dependsa de um timer, geralmente o que fazemos é uma de duas coisas:
  • Trabalhar com um modelo convertido manualmente para promise

  • function asyncTimeout (ms) {
        return new Promise((resolve) => setTimeout(resolve, ms))
    }
    
    ;(async () => {
      await asyncTimeout(3000)
      console.log('Hello')
    })()
    


  • 사용자 또는 util.promisify

  • const { promisify } = require('util')
    const asyncTimeout = promisify(setTimeout)
    
    ;(async () => {
      await asyncTimeout(3000)
      console.log('Hello')
    })()
    


    Agora temos uma API nativa de timers com promise que estava em beta na versão 15 do Node:

    import { setTimeout } from 'timers/promises';
    async function run() {
      await setTimeout(5000);
      console.log('Hello, World!');
    }
    run();
    


    결론



    Temos algumas alterações muito legais para o que vem por ai no Node.js! Esperamos que, no futuro, tenhamos ainda mais mudanças e muitas outras novidades!

    좋은 웹페이지 즐겨찾기