>웹 프론트엔드 >프런트엔드 Q&A >node.js의 엔진은 무엇인가요?

node.js의 엔진은 무엇인가요?

青灯夜游
青灯夜游원래의
2022-03-22 18:25:362878검색

node.js의 엔진은 "Chrome V8"입니다. Node.js는 주로 Chrome V8 엔진, 표준 라이브러리 및 로컬 모듈로 구성되며, 그 중 V8 엔진은 JS 코드를 기본 기계 코드로 직접 컴파일하고 캐싱 메커니즘을 사용하여 성능을 향상시킵니다. .

node.js의 엔진은 무엇인가요?

이 튜토리얼의 운영 환경: windows7 시스템, nodejs 버전 12.19.0, DELL G3 컴퓨터.

nodejs가 무엇인가요?

Node.js는 Chrome V8 엔진을 기반으로 하는 JavaScript 런타임 환경입니다.

Node.js는 이벤트 중심의 비차단 I/O 모델을 사용하여 가볍고 효율적입니다.

간단히 말하면 Node.js는 서버 측에서 실행되는 JavaScript이고, JavaScript는 서버 측에서 프로그래밍하는 데 사용됩니다.

Node.js는 JavaScript를 서버 측에서 실행할 수 있도록 하는 개발 플랫폼으로, JavaScript의 범위를 서버 측으로 확장하고 PHP, JSP, Python 및 Ruby와 동등하게 사용할 수 있습니다.

Node.js는 언어이자 플랫폼인 PHP, JSP, Python, Perl, Ruby와 달리 프로그래밍에 JavaScript를 사용하고 JavaScript 엔진(V8)에서 실행됩니다.

nodejs 개발의 구성은 npm 개발 커뮤니티에서 제공하는 다수의 타사 패키지와 프로그래밍을 위해 노드 플랫폼에서 제공하는 기본 ECMAScript 스크립팅 언어 및 일련의 프로그래밍 인터페이스를 사용하는 것입니다.

Node.js의 구성

Node.js 런타임은 주로 V8 엔진, 표준 라이브러리, 로컬 모듈로 구성됩니다. 특히 로컬 모듈의 개수는 밑에서부터 Node.js 기능의 강점을 결정합니다.

1) V8 엔진

V8 엔진은 JavaScript 코드를 구문 분석하고 실행하는 역할을 하는 JavaScript 해석기입니다.

V8 엔진은 Java 가상 머신 및 C++ 컴파일러의 많은 기술을 활용하며 JavaScript 코드를 기본 기계 코드로 직접 컴파일하고 캐싱 메커니즘을 사용하여 성능을 향상시켜 JavaScript를 바이너리 프로그램만큼 빠르게 실행합니다.

2) 로컬 모듈

Node.js는 C/C++ 언어로 구현되는 다음과 같은 많은 고성능 오픈 소스 라이브러리를 통합합니다. 크로스 플랫폼 기반의 이벤트 중심 비동기 I/O 라이브러리입니다. 그러나 libuv는 I/O에만 국한되지 않고 프로세스 관리, 스레드 풀, 신호 처리, 타이머 및 기타 기능도 제공합니다.

리눅스의 모든 것은 파일입니다. 여기서 I/O에는 파일 읽기 및 쓰기뿐만 아니라 데이터베이스 읽기 및 쓰기, 네트워크 통신(소켓) 등도 포함됩니다. nmpNode.js 패키지 관리자, 패키지 다운로드, 패키지 설치, 패키지 제거, 패키지 업데이트, 패키지 업로드 등을 수행할 수 있습니다. http_parserzlib산업급 데이터 압축/압축 풀기 모듈인 Nodejs는 zlib를 사용하여 동기식, 비동기식 또는 스트리밍 압축/압축 풀기 인터페이스를 만듭니다. OpenSSL이 모듈은 SSL 프로토콜 및 https 프로토콜과 같이 최신 웹이 보안을 위해 의존하는 엄격한 테스트를 거친 다양한 암호화/암호 해독 기능을 제공합니다. c-ares비동기 DNS 쿼리 및 구문 분석 라이브러리.

Node.js는 JavaScript 코드를 컴퓨터에서 직접 실행하고 JavaScript에 강력한 기능을 제공하므로 로컬 모듈과 브라우저의 런타임 간에는 큰 차이가 많고 연결이 거의 없습니다. Node.js는 브라우저를 거의 완전히 버리고 처음부터 새로운 JavaScript 런타임을 구축했습니다.

3) 표준 라이브러리

로컬 모듈은 C/C++로 작성되었으며 Node.js는 JavaScript 개발자를 위한 것이므로 로컬 모듈의 C/C++ 인터페이스를 캡슐화하고 우아한 JavaScript 인터페이스 세트를 제공해야 합니다. 개발자는 다양한 플랫폼(운영 체제)에서 인터페이스의 일관성을 유지합니다.

이 JavaScript 인터페이스 세트는 Node.js 표준 라이브러리입니다. 표준 라이브러리가 우아하고 강력한지 여부는 Node.js의 사용 편의성을 결정하고 Node.js의 시장 성능에 직접적인 영향을 미칩니다.

요약

V8 엔진과 많은 로컬 모듈은 이미 제작되어 있습니다. Node.js의 주요 작업은 적절한 모듈을 선택하고 함께 통합하고 JavaScript 인터페이스를 작성하는 것입니다.

물론 모든 로컬 모듈이 적합한 것은 아닙니다. Node.js도 자체적으로 여러 모듈을 작성했는데, 대표적인 것이 Libuv입니다. Libuv는 Node.js의 핵심이자 가장 기본적인 모듈입니다. Node.js는 완전히 Libuv를 기반으로 구축되었습니다.

Node.js가 이벤트 기반의 단일 스레드 비동기 I/O 아키텍처를 채택한다는 소식을 들어보셨을 것입니다. 이것이 Node.js의 가장 큰 특징이자 다른 스크립팅 언어와의 가장 큰 차이점입니다. js 이 기능은 Libuv를 사용하여 달성됩니다.

Libuv는 너무 강력해서 관계자는 이를 Node.js에서 분리하여 별도의 네트워크 라이브러리로 출시하고 오픈 소스로 무료로 만들기로 결정했습니다. 이제 Libuv는 매우 인기를 얻었으며 전통적인 Libevent 및 libev 라이브러리와 함께 "3개의 주요 C/C++ 네트워크 라이브러리"로 알려져 있습니다.

Node.js는 주로 V8 엔진과 Libuv 라이브러리를 사용하기 때문에 유명합니다. V8 엔진은 Node.js의 효율적인 실행을 보장하고 Libuv 라이브러리는 이벤트 루프를 기반으로 비동기 I/O 기능을 제공합니다.

요약

Node.js는 JavaScript를 브라우저 환경에서 분리하고 컴퓨터에서 직접 실행할 수 있도록 하는 JavaScript 런타임으로, JavaScript의 사용 범위를 크게 확장합니다. 우리는 JavaScript를 Python, Java, Ruby 등 다른 프로그래밍 언어와 동일한 수준으로 취급해야 하며 더 이상 "가젯"으로 취급하지 않아야 합니다.

마지막으로 JavaScript와 Node.js의 역사를 요약해 보겠습니다.

  • Netscape 브라우저는 JavaScript 스크립트를 파생하여 웹 페이지 프로그래밍 기능을 제공합니다.

  • Chrome 브라우저는 JavaScript 성능을 향상시킨 V8 엔진을 파생했습니다.

  • V8 엔진은 Node.js를 구축하여 JavaScript의 프로그래밍 기능을 확장했습니다.

  • Node.js는 Libuv 라이브러리를 파생하여 네트워크 개발에 탁월한 도구를 추가했습니다.

노드 관련 지식을 더 보려면

nodejs 튜토리얼을 방문하세요!


웹 애플리케이션 개발을 지원하기 위해 C 언어로 작성된 경량 HTTP 파서입니다.

위 내용은 node.js의 엔진은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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