>웹 프론트엔드 >프런트엔드 Q&A >nodejs는 무슨 뜻인가요?

nodejs는 무슨 뜻인가요?

青灯夜游
青灯夜游원래의
2021-09-14 14:59:038819검색

nodejs는 Chrome V8 엔진을 기반으로 하는 JavaScript 실행 환경으로, 서버 측에서 JavaScript를 실행할 수 있도록 하여 스크립팅 언어인 JavaScript를 서버 언어로 사용할 수 있도록 하는 개발 플랫폼입니다. 노드의 장점: 초고동시성, JavaScript 구문 사용 등

nodejs는 무슨 뜻인가요?

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

Node.js는 2009년 5월에 출시되었으며 Ryan Dahl이 개발했습니다. 이는 Chrome V8 엔진을 기반으로 하는 JavaScript 실행 환경으로, 이벤트 중심의 비차단 I/O 모델을 사용하여 JavaScript가 실행될 수 있도록 합니다. JavaScript를 PHP, Python, Perl 및 Ruby와 같은 서버 측 언어와 동등한 스크립팅 언어로 만드는 서버 측 개발 플랫폼입니다.

Node.js는 일부 특별한 사용 사례를 최적화하고 브라우저가 아닌 환경에서 V8을 더 잘 실행할 수 있도록 대체 API를 제공합니다. V8 엔진은 Javascript를 매우 빠르게 실행하고 편리하게 Chrome JavaScript 런타임 플랫폼을 기반으로 구축되었습니다. 빠른 응답 속도와 쉬운 확장성을 갖춘 네트워크 애플리케이션을 구축합니다.

Node.js는 다음과 같은 이유로 Google V8 JavaScript 엔진을 사용합니다.

  • V8은 BSD 라이센스 기반 오픈 소스 소프트웨어입니다.

  • V8은 매우 빠릅니다.

  • V8은 HTTP, DNS, TCP의 네트워크 기능에 중점을 둡니다. Mature

Node.js의 장점은 무엇인가요? 스크립팅 언어인 JavaScript를 서버 언어로 사용할 수 있는 이유는 무엇입니까?

장점 1 Node.js는 매우 높은 동시성 기능을 가지고 있습니다

Node.js의 초기 목표는 고성능 서버를 만들고 서버 프로그램 개발 도구에서 다양한 애플리케이션을 실행할 수 있는 간단한 방법을 제공하는 것입니다. A Java, PHP 또는 .NET과 같은 기존 서버 측 언어와 비교하면 node.js는 젊고 강력한 승리를 거둔 청년과 같습니다. Java 언어는 각 클라이언트, 각 클라이언트마다 새로운 스레드를 생성합니다. 생성을 생성하기 위해 연결합니다. 하나의 스레드에는 2MB의 메모리가 필요합니다. 즉, 이론적으로 8GB 서버에는 약 4,000명의 동시 연결 사용자가 있을 수 있습니다. 높은 동시성으로 더 많은 사용자를 지원하려면 추가 서버를 추가해야 합니다.

???? E 이것은 단일 스레드 기반 노드입니다(요청을 선택하고 응답을 제공하는 하나의 메인 스레드만 있음)

속도가 느리지 않나요? 실제로는 그렇지 않습니다.

​ ​ Node.js가 사용자 연결을 수신하면 내부 이벤트가 트리거됩니다. 사전 정의된 기능을 통해 사용자 행동에 반응합니다. Node.js의 메인 스레드는 프로그램의 프로세스에 신경 쓰지 않습니다. 실제로 작업 스레드가 파일 데이터를 읽을 때 Node의 메인 스레드가 파일에 액세스하고 데이터베이스를 읽을 수 있도록 돕는 또 다른 작업 스레드가 있습니다. 콜백 함수는 발견된 데이터를 클라이언트로 다시 전송하고 일부 작업에 대한 연결을 닫는 등의 실행을 위해 노드 메인 스레드로 반환됩니다. (이것은 이벤트 중심의 노드 비차단 I/O입니다.)我 上 아래 제가 그린 그림 (혹시 틀린 부분이 있으면 양해 부탁드립니다)

이때 우리 머릿속에는 프로토타입이 있어야 하는데, 즉 Node.js의 메인 스레드가 받아온 것입니다. 요청을 요청하고 응답하는 작업이 혼합되어 있어 여러 클라이언트로부터 지속적으로 요청을 받을 수 있습니다. IO 작업 스레드가 데이터를 찾으면 이벤트 콜백 함수를 트리거합니다. 호스트에게 스레드 데이터를 얻었음을 알려줍니다. 이때 메인 스레드는 콜백 함수를 실행하고 데이터를 클라이언트에 반환합니다.

이론적으로 8G 메모리를 갖춘 서버는 동시에 30,000~40,000명의 사용자 연결을 수용할 수 있습니다.

이것이 바로 Node가 빛을 발하는 곳입니다(단일 스레드, 논블로킹 IO, 이벤트 중심)

Advantages 2 Node는 JavaScript 구문을 사용합니다

Node.JS

javaScript 기반의 V8 엔진, 즉 JS 구문만 알면 백엔드 개발에 사용할 수 있다고 했는데, Node에서는 공식적으로 ECMA Script6(ES6) 구문을 권장합니다.

Node는 JavaScript가 브라우저에서만 실행되었던 과거의 상황을 깨고 프런트엔드와 백엔드 프로그래밍 환경을 통합하여 개발 비용을 크게 절감합니다. (이것은 프론트엔드 개발자에게 매우 친숙합니다. JS가 할 수 있는 일이 많을수록 프론트엔드 개발 속도가 빨라집니다.)장점 3 Node.js의 등장 최근 몇 년간 급속한 발전과 함께 Node.js가 활약하고 있습니다. 대체할 수 없는 역할.

S Node.js는 운영 환경일 뿐만 아니라 JS 문법 기반을 수용하는 새로운 JavaScript 언어입니다. 또한 읽기 파일 URL의 모듈을 사용하여 분석합니다.

Rreeee

node.js에는 NPM 패키지 관리 도구도 통합되어 있으므로 프로젝트가 의존하는 가방을 명령줄을 통해 쉽게 다운로드할 수 있습니다. NPM Install jquery

NPM Install -G Webpack

NPM Install -G Create -React -APP 등

, 프로젝트가

const http = require('http')

노드를 사용하도록 도입되고 구문 ↓↓

 const  Jquery = require('jquery');
const app =()=>{
     //模块代码
     
}
module.exports = app;

을 지원하는 한 사용할 수 있습니다.

Node.js는 프런트 엔드 개발 모델에 어느 정도 영향을 미칩니다. 프런트 엔드 엔지니어링을 모듈화하고, 빠르게 개발하고, 코드 결합을 줄이고, 유지 관리성을 크게 향상시킵니다. Node.js는 어디에 적합합니까?个 다음 목록은 여러 NODE.JS 애플리케이션 시나리오에 나열되어 있습니다. 더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육 을 방문하세요. !

위 내용은 nodejs는 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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