Node.js의 성능 개선 및 새로운 기능: Deno 및 Bun과의 경쟁
많은 사람들이 새로운 JavaScript 런타임의 속도에 대해 논의하고 싶어하는데, 이는 Node.js가 느리거나 특정 통합 기능이 부족하다는 것을 간접적으로(때로는 직접적으로) 암시합니다. Deno 2와 Bun의 개발 모델은 JavaScript 애플리케이션 구축을 위한 올인원 툴킷으로 의도되었음을 시사합니다. 그들은:
Node.js를 사용하려면 dotenv를 사용하여 .env 파일을 로드하는 등 이러한 작업을 완료하기 위해 타사 도구를 사용해야 합니다.
그러나 Node.js가 따라잡고 있습니다. 이 문서에서는 버전 20 또는 22 이후에 추가된 많은 기능 중 세 가지를 중점적으로 설명합니다. 시작해 봅시다.
많은 사람들이 dotenv를 사용하여 환경 파일을 로드합니다. require('dotenv').config()
또는 import 'dotenv/config'
라고 쓴 다음 process.env
의 값에 액세스합니다. 버전 20.6.0부터 --env-file
플래그를 사용하여 Node.js가 환경 변수를 로드해야 하는 파일을 지정할 수 있습니다.
예를 들어 다음 명령은 .env 파일에서 환경 변수를 로드합니다.
<code class="language-bash">node --env-file=.env index.js</code>
플래그를 두 번 전달하여 여러 파일을 로드할 수도 있습니다.
<code class="language-bash">node --env-file=.env --env-file=config.env index.js</code>
일부 사람들은 dotenv 패키지를 제거하고 Node.js를 직접 사용하여 애플리케이션 성능이 향상되었다고 보고했습니다. Wes Bos가 자신의 앱 시작 시간이 1300ms에서 1ms로 단축된 것에 대해 트윗한 내용은 다음과 같습니다.
코드 변경 시 소스 파일을 모니터링하고 애플리케이션을 다시 시작하기 위해 다양한 도구를 사용한 것 같습니다. 우리는 이를 다양한 방법으로 수행했는데, 그 중 하나는 소스 파일의 변경 사항을 모니터링하고 서버를 자동으로 다시 시작하는 유틸리티인 nodemon을 사용하는 것입니다.
버전 18.11.0 및 16.19.0부터 node
CLI에는 이 작업을 수행하기 위한 두 개의 새로운 플래그인 --watch
및 --watch-path
가 제공됩니다. node --watch index.js
을 실행하면 감시 모드에서 애플리케이션이 시작되고 진입점과 필수 또는 가져온 모듈을 감시합니다. 모니터링할 경로를 지정하려면 항목 파일과 가져온 모듈이 아닌 --watch-path
플래그를 사용해야 합니다.
감시 모드와 관련된 플래그인 --watch-preserve-output
플래그도 있습니다. 프로세스가 감시 모드에서 다시 시작될 때 콘솔 출력이 지워지는 것을 방지하려는 경우 이 플래그를 사용할 수 있습니다.
<code class="language-bash">node --env-file=.env index.js</code>
Node.js에는 내장 패키지 관리자가 없지만 대부분의 설치는 일반적으로 npm과 함께 번들로 제공됩니다. npm run
에 정의된 스크립트를 실행하기 위해 다양한 패키지 관리자의 package.json
또는 유사한 명령을 사용했습니다. 이것은 문제가 되지 않지만 Bun과 Deno는 package.json
스크립트를 시작하고 실행하는 데 걸리는 시간에 대해 자랑합니다. 이로 인해 Node 팀이 이 옵션을 재고하게 되었을 수도 있습니다.
버전 22.0.0부터 Node.js는 이제 --run
와 같은 node --run dev
플래그를 통해 스크립트를 실행할 수 있습니다. 이는 어떤 이점이나 제한도 가져오지 않고 npm run
을 대체하는 것이 아닙니다. node --run
명령을 사용하는 것이 npm run
명령보다 빠른 것으로 입증되었습니다. 다른 런타임 구현에서 의도적으로 제외된 일부 기능은 다음과 같습니다.
문서에서 이 플래그에 대한 자세한 내용을 읽을 수 있습니다.
이 기사에서는 Deno 2 및 Bun에서 제공하는 통합 기능에 더 가까워진 Node.js의 최신 개선 사항을 살펴봅니다. 다음 기능을 확인했습니다.
--env-file
플래그를 사용하여 .env 파일을 로드하세요--watch
및 --watch-path
플래그를 통해 제공되는 로컬 파일 모니터링 기능--run
플래그는 package.json
스크립트이러한 업데이트는 타사 도구의 필요성을 줄이고 성능, 보안 및 유용성을 향상시켜 Node.js가 다른 런타임을 따라잡는 데 도움이 됩니다.
내가 Telerik 블로그에 게시한 원본 기사
위 내용은 당신이 몰랐던 ode.js 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!