Node.js 19의 새로운 감시 모드 및 알아야 할 기타 기능
2022년 10월 Node.js는 19번째 버전을 출시했습니다. 네이티브 테스트 러너 모듈과 같은 중요한 업그레이드를 특징으로 하는 Node.js v.18이 출시된 지 6개월 후였습니다.
Node.js 19의 주목할만한 기능은 새롭고 실험적인 감시 모드입니다. 이를 통해 서버를 다시 시작하지 않고도 서버를 변경할 수 있습니다.
Node.js 19 이전에는 감시 모드가 타사 라이브러리를 통해서만 가능했습니다. watch 모드를 사용하는 방법과 버전 19의 Node.js에 대한 다른 업데이트를 살펴보세요.
노드의 새로운 감시 모드
Node.js 19 에는 지정된 파일에서 변경 사항이 감지되면 Node.js 서버를 다시 시작하는 실험적인 –watch 플래그가 도입되었습니다. 이전에는 nodemon 이라는 타사 라이브러리를 사용하여 이 작업을 수행할 수 있었지만 업데이트에서는 해당 기능을 Node.js에 추가하여 종속성이 필요하지 않습니다.
–watch 플래그 를 사용하여 Node.js 서버를 다시 시작하려면 노드 가 변경 사항을 감지할 때 다시 시작하려는 파일 이름이 뒤에 오는 –watch 플래그와 함께 node 명령을 실행합니다 .
예를 들어 다음 코드 블록을 server.js 파일로 간주합니다.
// server.js
const express = require("express");
const app = express();
const PORT = 6060;
app.listen(PORT, () => console.log(`App listening on port: ${PORT}`));
이 파일에서 변경 사항을 확인하고 변경 사항이 발생할 때 서버를 다시 시작하려면 터미널에서 다음 명령을 실행하십시오.
node --watch server
이 명령은 server.js 파일을 감시하고 파일의 변경 사항을 감지하면 Node.js 서버를 다시 시작합니다.
이 기능은 아직 실험 단계이므로 –watch 플래그를 사용하여 서버를 다시 시작하는 동안 문제가 발생할 수 있습니다.
기타 업그레이드 및 수정 사항
Node.js 19와 함께 제공되는 기타 개선 사항 및 수정 사항은 다음과 같습니다.
기본적으로 HTTP 연결 유지
http/https 모듈의 keepAlive 옵션 은 요청을 완료한 후 서버에 대한 연결을 유지해야 하는지 여부를 제어합니다. 원래는 수동으로 keepAlive 옵션을 true 로 설정해야 합니다. 이 옵션은 연결을 열린 상태로 유지하고 후속 요청에 다시 사용하도록 서버에 지시합니다.
Node.js 19에서 keepAlive 옵션은 기본적으로 true로 설정됩니다. 이 추가는 새 연결 설정의 오버헤드를 크게 줄입니다.
WebCrypto API 안정화
WebCrypto API는 Node.js의 Web Crypto API 표준 구현입니다 . Node.js 19에서는 Ed25519 , Ed448 , X25519 및 X448 알고리즘 을 제외하고 WebCrypto 구현이 이제 안정적 입니다.
핵심 Node.js 모듈을 타사 라이브러리와 구별하기 위해 Node.js 18에서 도입 한 globalThis 모듈 또는 node: 접두사를 사용하여 이 API에 액세스할 수 있습니다 .
예를 들어:
// node: prefix
const crypto = require("node:crypto");
// globalThis
const webcrypt = globalThis.crypto;
맞춤형 ESM 해상도 조정
Node.js 19는 이전의 실험적인 –experimental-specifier-resolution 플래그를 제거합니다. 이는 ECMAScript가 모듈을 가져오는 방법과 유사하게 패키지 지정자를 사용하여 파일 찾기에 대한 실험적 지원을 제공했습니다.
Node.js는 사용자 정의 로더를 사용하여 기능을 복제할 수 있기 때문에 이 플래그를 제거했습니다. 사용자 지정 로더를 사용하여 더 많은 모듈 형식을 지원하거나 로드하기 전에 모듈을 추가로 처리할 수 있습니다. 모듈을 로드하고 처리하기 위한 고유한 논리를 제공할 수 있기 때문입니다.
DTrace/SystemTap/ETW 지원 제거
DTrace, SystemTap 및 ETW(Windows용 이벤트 추적)는 실행 중인 프로그램의 동적 추적 및 분석을 제공하는 모듈입니다. 원래 Node.js에서는 이를 사용하여 성능 지표, 오류 및 기타 가능한 런타임 발생을 포함하여 애플리케이션 활동에 대한 데이터를 수집할 수 있었습니다.
Node.js 19에서 Node.js는 DTrace, SystemTap 및 ETW에 대한 지원을 제거했습니다. 이러한 모듈을 최신 상태로 유지하는 것과 관련된 복잡성이 아직 가치가 없었기 때문입니다. 따라서 리소스의 우선 순위를 지정하기 위해 지원을 중단했습니다.
Node.js 19로 업그레이드
Node.js 19는 위에서 논의한 새로운 감시 모드를 포함하여 애플리케이션에 대해 고려할 만한 다양한 기능과 개선 사항을 소개합니다. Node.js 19로 업그레이드하려면 공식 웹사이트로 이동하여 현재 버전을 다운로드하세요.
답글 남기기