Node.js 소개

2867 단어 webdevjavascriptnode

JS 코드를 어떻게 실행합니까?



브라우저 콘솔로!
그리고 그것이 어떻게 실행되는지 아십니까?
아마도 크롬을 사용하고 있다면 V8 엔진에 대해 들어보셨을 것입니다.

예, 코드를 실행하는 엔진이 있지만 다른 엔진이 있습니다. 예를 들면 다음과 같습니다.



SpiderMonkey는 Mozilla Firefox에서 사용됩니다.
JavaScript Core는 Apple Safari에서 사용됩니다.
Chakra는 Internet Explorer에서 사용됩니다.
Edge, Chrome, Brave, ...에서 사용되는 V8

그렇다면 개발자는 브라우저 없이 JS를 실행할 수 있는 방법을 찾으려고 했을까요? 어떻게 할 수 있습니까?



네, 맞습니다. Node.js를 사용하면

Google은 2008년에 v8 엔진이 탑재된 Chrome 브라우저를 출시했습니다.
1년 후 Node.js가 도입되어 브라우저 외부에서 JS 코드를 실행했습니다.

이제 전체 스택으로 클라이언트 및 백엔드 측에서 JS 코드를 실행할 수 있습니다.

그러나 Node.js는 프로그래밍 언어가 아니며 프레임워크가 아니라 런타임입니다. C++로 작성되었습니다.

*공식적인 정의입니다. *
Node.js는 V8 엔진에서 실행되고 웹 브라우저 외부에서 JavaScript 코드를 실행하는 오픈 소스, 교차 플랫폼, 백엔드 JavaScript 런타임 환경입니다.

오픈 소스란:



Node.js는 저작권 소유자가 사용자에게 소프트웨어와 해당 소스 코드를 어떤 목적으로든 사용, 연구, 변경 및 배포할 수 있는 권한을 부여하는 라이선스에 따라 배포됩니다.

크로스 플랫폼이란 무엇입니까?



Node.js를 사용하면 NW.js 또는 Electron과 같은 플랫폼에서 크로스 플랫폼 데스크톱 앱을 구축할 수 있습니다. 이를 통해 웹 앱의 일부 코드를 Windows, macOS 및 Linux용 데스크탑 버전으로 재사용할 수 있습니다.

런타임이 무엇인지 자세히 알아보겠습니다.



JavaScript 런타임은 JavaScript 코드를 실행할 수 있는 환경을 제공합니다. 그것은 우리에게 V8 엔진보다 조금 더 많은 것을 제공합니다.
JavaScript 런타임은 코드를 실행하고 I/O가 필요할 때마다 libuv 과 통신합니다.
libuv library은 이벤트 루프를 기반으로 비동기 I/O를 지원하는 다중 플랫폼 C 라이브러리입니다.

웹 브라우저는 JavaScript 런타임입니까?



예, 브라우저에는 JavaScript 엔진이 포함되어 있습니다. 엔진은 호출 스택, 힙 및 이벤트 루프를 포함하는 JavaScript 런타임을 구현합니다.

브라우저에는 예를 들어 window 객체와 같은 일부 기능이 있어 브라우저와 관련된 일부 기능을 사용할 수 있지만 Node.js 런타임에서 실행하면 오류가 발생합니다. 대신 Node.js 런타임에서 작동하는 global이라는 또 다른 객체가 있습니다. 하지만 브라우저에서는 아닙니다. 따라서 V8 엔진은 각 런타임(브라우저, Node.js)의 일부 다른 기능과 맞춤화되고 통합됩니다.

NODE.JS 시스템





Node.js에서 코드를 작성하고 실행하려면 Node.js을 다운로드하거나 replit에서 온라인으로 코드를 실행할 수 있습니다.

Node.js를 다운로드하고 설치한 후 터미널을 열고 node 을 입력하면 다음과 같은 내용이 표시됩니다.

hash@HMacBook~ % node
Welcome to Node.js v14.17.0.
Type ".help" for more information.
> "ha"+"sh"
'hash'


이제 실행할 js를 작성할 수 있습니다. 이 환경은 repl , read , evalprint 을 나타내는 loop 입니다.

Node.js에 대한 아이디어를 댓글로 공유해 주세요.

읽어 주셔서 감사합니다

좋은 웹페이지 즐겨찾기