셰프가 단 한 명뿐인 레스토랑에 간다고 상상해 보세요. 웨이터에게 파스타를 주문합니다. 웨이터는 요리사에게 주문 및 기타 고객 주문에 대해 알립니다. 요리사는 파스타 주문을 받았지만 파스타를 끓이는 데 시간이 걸린다는 것을 깨달았습니다. 파스타가 익을 때까지 기다리는 대신 스토브에 파스타를 넣고 끓이는 동안 다른 주문을 처리하기 시작합니다/
NodeJS도 비슷하게 작동합니다.
Chef = Node.js의 메인 스레드(Node.js는 메인 스레드에서 한 번에 한 가지 작업만 수행할 수 있습니다)
웨이터 = 이벤트 루프(이벤트 루프는 들어오는 요청을 받아 처리 방법을 결정합니다)
Kitchen Helpers = 작업자 스레드 또는 OS 백그라운드 프로세스(Node.js는 작업을 도우미에게 위임합니다)
예를 들어, I/O 작업에서 웹 서버가 파일에서 콘텐츠를 가져오도록 요청하면 NodeJS는 단순히 작업을 OS의 파일 시스템에 위임하고 후속 요청을 처리할 준비를 합니다. 파일 시스템이 응답하면 이를 처리합니다.
스택 전체에서 동일한 언어: 대부분의 프런트엔드 개발에서는 Angular, React, Vue 등과 같은 JS 프레임워크를 사용합니다. 백엔드 애플리케이션이 Javascript로 작성된다면 엄청난 이점이 될 것입니다. 풀스택 개발자는 백엔드 개발을 위해 새로운 언어를 배울 필요가 없습니다.
마이크로서비스 기반 아키텍처에 이상적: NodeJS의 단일 스레드 이벤트 루프 아키텍처는 사용 가능한 스레드가 완료될 위험이 없기 때문에 멀티 스레드 아키텍처보다 웹 개발자에게 훨씬 더 편리합니다. 여러 동시 요청을 처리할 때
빠른 개발: NodeJS는 매우 가볍고 NodeJS 서버는 약간의 노력으로도 빠르게 시작하고 실행할 수 있습니다.
NPM: NodeJS 패키지 관리자는 전 세계적으로 개발자가 작성하는 방대한 코드 라이브러리입니다. 프로젝트에서 종속성으로 쉽게 사용할 수 있으므로 추가 코드를 작성하는 노력이 줄어듭니다.
그렇습니다.
const { createServer } = require('node:http'); const hostname = '127.0.0.1'; const port = 3000; const server = createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
이 코드의 기능:
그리고 그게 다입니다. 이제 node server.js(여기서 server.js는 코드 파일 이름임)를 실행하면 NodeJS 서버가 "작동 및 실행"됩니다.
위 내용은 NodeJS 소개 [간단한 설명]의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!