>  기사  >  웹 프론트엔드  >  노드 버전 14와 10의 차이점은 무엇입니까?

노드 버전 14와 10의 차이점은 무엇입니까?

WBOY
WBOY원래의
2022-07-06 16:37:582717검색

노드 버전 14와 10의 차이점: 1. 버전 10은 Chromium에서 V8 엔진 사용을 중단하고 V8 버전 6.6을 사용하는 반면, 버전 14에서 사용된 V8은 버전 8.1로 업그레이드되었습니다. 2. 버전 14에서는 " ES 모듈" 그리고 알람은 발생하지 않지만 버전 10에서는 사용할 수 없습니다.

노드 버전 14와 10의 차이점은 무엇입니까?

이 문서의 운영 환경: Windows 10 시스템, nodejs 10&&node 14 버전, Dell G3 컴퓨터.

노드 버전 14와 10의 차이점은 무엇인가요?

노드 10

  • vm: 동적 가져오기 지원을 추가합니다. 동적 가져오기를 지원합니다.

그러나 ES 모듈은 아직 실험적이므로 import/export를 코드에서 직접 사용할 수 없습니다. 실험적 플래그가 켜져 있지 않으면 사용하려면 ES6 import를 작성하는 방법을 살펴봐야 합니다. NodeJS에서.

  • nghttp2를 1.34.0으로 업데이트했습니다. 이는 HTTP/2를 통해 WebSocket을 사용할 수 있도록 RFC 8441 확장 연결 프로토콜 지원을 추가합니다. nghttp2를 1.34.0으로 업데이트했습니다. 이는 HTTP/2를 통해 WebSocket을 사용할 수 있도록 RFC 8441 확장 연결 프로토콜 지원을 추가합니다.

Node 8은 실험적인 HTTP/2 모듈을 도입합니다. 이번에는 Node.js로의 좋은 업그레이드입니다. HTTP/2는 멀티플렉싱, 단일 연결, 서버 푸시, 헤더 압축 등과 같은 고급 기능을 사용하여 표준 HTTP 프로토콜을 개선합니다. 이번에는 일부 보안 문제도 수정하고 웹소켓 지원을 추가합니다.

  • 오류 코드 추가. 이제 Node의 오류 메시지가 표준화되었습니다.

  • n-api는 더 이상 실험적이지 않습니다. [cd7d7b15c1] N-API는 더 이상 실험적인 기능이 아닙니다.

Node 문서에서는 N-API를 기본 플러그인 구축을 위한 API로 설명합니다. 이는 기본 JavaScript 런타임(예: V8)과 독립적이며 Node.js 자체의 일부로 유지 관리됩니다. 이 API는 Node.js 버전 전반에 걸쳐 안정적인 ABI(애플리케이션 바이너리 인터페이스)가 될 것입니다. 이는 기본 JavaScript 엔진의 변경 사항으로부터 애드온을 보호하고 한 버전에 대해 컴파일된 모듈을 다시 컴파일하지 않고도 이후 버전의 Node.js에서 실행할 수 있도록 설계되었습니다.

  • V8을 6.6.346.24로 패치합니다. 노드는 Chromium에서 V8 엔진 사용을 중단하고 v8 버전 6.6,

  • 향상된 진단 추적을 사용합니다. Node 10은 개발자에게 Node.js 애플리케이션에 대한 더 많은 가시성을 제공하기 위해 추적 이벤트를 추가합니다. 노드 애플리케이션을 시작할 때 --trace-event-categories 매개변수를 추가하여 엽니다. 설명서

  • npm을 6.14.3으로 업데이트에서 자세히 알아볼 수 있습니다. NPM 6용으로 업데이트된 이 npm 버전은 성능, 보안 및 안정성을 포함한 모든 다양한 개선 사항을 추가합니다.

  • openssl 소스를 1.1.1e로 업그레이드하세요. Node에는 매우 기대되는 ChaCha20 암호 및 Poly1305 유효성 검사기

  • fs에 대한 최신 암호화 지원이 제공됩니다. fs.promises에 대한 실험적 경고를 제거합니다. fs는 Promise를 직접 사용할 수 있으며 Node 8처럼 변환을 위해 util.promisify() 함수를 사용할 필요가 없습니다.

const fs = require('fs');
const fsPromises = fs.promises;
// 同步读取
console.log(fs.readFileSync('temp.txt', 'utf8'));
// promise 读取,感觉更麻烦了。
async function doRead() {
  let filehandle = null;
  try {
    filehandle = await fsPromises.open('temp.txt', 'r+');
    let read = await filehandle.readFile();
    console.log(read);
  } finally {
    if (filehandle) {
      // 如果文件已打开,则关闭文件。
      await filehandle.close();
    }
  }
}
doRead().catch(console.error);

Node 14

ECMAScript 모듈 - 실험적 경고 제거

Node.js 13에서는 --experimental-modules 플래그를 포함할 필요가 없어졌지만 Node.js에서 EcmaScript 모듈을 실행할 때 이 플래그는 ExperimentalWarning: ESM 모듈 로더는 실험적입니다.

노드 13부터 ES 모듈을 직접 사용할 수 있지만 노드 14 이후에는 알람 없이 사용할 수 있습니다.

  • 8.1로 업그레이드된 V8

  • ArrayBuffer는 1.1.1

  • 콘솔 그룹 들여쓰기 옵션으로 업데이트된 새로운 V8 ArrayBuffer API

  • openssl 소스를 사용합니다. 콘솔은 2칸보다 길게 구성할 수 있습니다.

추천 학습: "nodejs 비디오 튜토리얼"

위 내용은 노드 버전 14와 10의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.