"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Nodejs란 무엇인가요?

Nodejs란 무엇인가요?

2024-08-01에 게시됨
검색:601

What is Nodejs

Nodejs는 JavaScript 런타임입니다. 즉, nodejs는 브라우저 외부에서 JavaScript를 실행할 수 있게 해주는 프로그램입니다. 결과적으로 nodejs를 사용하여 백엔드 애플리케이션을 개발할 수 있습니다. 이제 이는 백엔드에만 국한되지 않습니다. 몇 가지 언급하자면 데스크톱 애플리케이션, IoT, 클라우드 애플리케이션을 구축할 수 있습니다. Nodejs는 크로스 플랫폼입니다. 프로그램 자체는 Linux, Windows 및 macOS를 실행합니다.

Nodejs를 사용해야 하는 이유

Nodejs에는 몇 가지 장점이 있으며 여기에는 다음이 포함되지만 이에 국한되지는 않습니다.

  • 비차단 I/O
  • 비동기
  • 확장 가능
  • 이벤트 운전
  • 지연 시간이 짧습니다
  • 스레딩 있음
  • 어디서나 사용할 수 있습니다.
  • 대규모 커뮤니티 보유

속담처럼 즉각적인 반품은 장기적인 불편을 의미합니다. 여기서 단점은 javascript(그런데 저는 javascript를 좋아합니다)이며 때로는 확장을 염두에 두고 구축하려는 시스템을 설계하지 않는다는 것입니다. 다시 말하지만, Nodejs를 사용하는 것은 Nodejs가 아니라 도구와 인간입니다.

여기에서 nodejs에 대해 자세히 알아볼 수 있습니다.

설치

Nodejs의 사람들은 똑똑합니다. 존경합니다. 그들은 당신과 나를 위해 설치를 더 쉽게 만들었습니다. 기술적인 지식이 없는 사람도 Nodejs를 설정하고 코드 작성을 시작할 수 있습니다. 그들은 다음을 사용할 수 있는 옵션을 제공했습니다:

  • 패키지 관리자
  • 사전 구축된 설치 프로그램
  • 사전 빌드된 바이너리
  • 소스 코드 빌드를 통한 설치

이 중 처음 3명은 친근하다. 그러니 그중 하나를 선택하십시오. download-nodejs로 가서 "nodejs를 두세요".

현재 현재 노드 버전은 22이고 LTS(장기 지원)는 20입니다.

저는 Linux 머신을 사용하고 있으므로 nvm(노드 버전 관리자)을 사용하여 설치하겠습니다. 이는 우리가 여러 버전의 nodejs를 가질 수 있다는 느낌을 줍니다. 이는 macOS에서도 기본적으로 작동합니다.

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

이것은 nodejs 플랫폼(웹사이트)의 동일한 스크립트입니다. 따라서 이러한 명령을 실행할 때 아무런 문제가 없어야 합니다.

창의 경우 비슷한 것이 있습니다.

# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

또는 사전 빌드된 설치인 node-prebuild-installer를 다운로드하세요. 결국 마지막 두 명령을 실행하여 설치를 확인할 수 있습니다.

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

NVM

nvm은 설치 중 Windows에 대한 옵션이 아니었지만 여기에 설치할 수 있으며 이에 대해 조금 알아두면 도움이 될 것입니다.

nvm list 명령을 사용하여 우리가 가지고 있는 다른 모든 nodejs 버전을 나열합니다.

username@computer-name:~$ nvm list
->     v18.18.0
default -> 18.18.0 (-> v18.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.0) (default)
stable -> 18.18 (-> v18.18.0) (default)
lts/* -> lts/hydrogen (-> v18.18.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0

위에서 v18.18.0이 제가 실행 중인 nodejs임을 알 수 있습니다.

nvm install 20을 사용하여 20 LTS와 같은 다른 버전을 설치할 수 있습니다.

username@computer-name:~$ nvm install 20
Downloading and installing node v20.15.1...
Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.15.1 (npm v10.7.0)

이 자동으로 v20.15.1로 전환되었습니다. 최신 LTS입니다.

이제 nvm에서 18을 사용하여 원하는 노드 버전으로 전환할 수 있습니다.

username@computer-name:~$ nvm use 18
Now using node v18.18.0 (npm v10.8.2)
username@computer-name:~$
username@computer-name:~$ node -v
v18.18.0

nvm에서도 가능합니다

NPM

npm은 노드 패키지 관리자입니다. 패키지가 무엇인지 궁금하시다면 스트레스 받지 마세요. 패키지는 라이브러리와 동일합니다. 다른 사람이 작성한 일부 코드 조각이나 프로그램은 우리 프로그램에서 어떤 작업을 수행하는 데 사용될 수 있습니다. 따라서 패키지는 문제 등을 해결하기 위한 것입니다. npm 및 Yarn, pnpm, bun 등과 같은 기타 노드 패키지 관리자는 프로젝트를 위해 설치하는 패키지를 관리하는 데 도움이 됩니다. 여기서는 npm에만 집중하겠습니다.

nodejs 프로젝트(Javascript뿐만 아니라)를 시작하려면 노드 패키지를 사용해야 합니다. 즉, 타사 라이브러리(우리가 작성하지 않았거나 Nodejs와 함께 제공되지 않은 프로그램)에 의존하지 않고 전체 프로그램을 개발할 때가 있습니다.

npm init 명령을 사용하여 node packege.json 파일을 생성하여 nodejs 애플리케이션을 생성할 수 있습니다. npm init에 대해 자세히 알아보려면 npm init --help를 수행하세요. 일반적으로 새로운 환경(폴더)에서 노드 프로그램을 시작하는 것이 좋습니다. 그래서 우리는 하나를 만들고 그것을 helloworld라고 부를 것입니다. 터미널을 이용하겠습니다.

username@computer-name:~$ mkdir helloworld
username@computer-name:~$ cd helloworld/
username@computer-name:~/helloworld$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (helloworld) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/username/helloworld/package.json:

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Is this OK? (yes) 

username@computer-name:~/helloworld$ 
  • mkdir helloworld라는 폴더를 만들었습니다.
  • helloworld 폴더로 변경했습니다. cd helloworld
  • 그런 다음 노드를 초기화하고 npm init

설치 마법사처럼 구성 단계를 안내합니다. 나중에 업데이트할 수 있습니다. 전체 프로세스가 끝날 때까지 ENTER, ENTER를 누르기만 하면 됩니다. 파일 탐색기에서 helloworld 폴더를 열면 위 출력과 유사한 내용을 포함하는 package.json이라는 새 파일이 표시됩니다.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

이 구성은 직관적입니다. 우리가 만들려는 프로젝트(또는 프로그램)의 이름을 알려줍니다. 상위 폴더 이름을 프로젝트 이름으로 사용합니다. 노드(프로젝트) 초기화 프로세스 중에 이름을 지정하고 다른 필드에 값을 제공할 수도 있었습니다. 여기서 ENTER, ENTER, …

를 쳤습니다.

ENTER, ENTER, …를 누르지 않고 이를 실행하는 또 다른 방법은 npm init -y 입니다. -y는 예, 기본값을 사용한다는 뜻입니다.

주로 노드 패키지는 npmjs.com에 있습니다. expressjs 라이브러리를 설치한다고 가정해 보겠습니다. npmjs에서 express를 검색하는 방법입니다. 문서에는 npm i express 명령을 사용하여 설치하는 방법이 나와 있습니다.

username@computer-name:~/helloworld$ npm i express

added 64 packages, and audited 65 packages in 4s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

i는 설치를 의미합니다. npm install express로 작성합니다. package.json은 패키지가 추가되어 업데이트됩니다.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.19.2"
 }
}

이제 새로운 종속성이 생겼습니다.

파일이나 폴더가 생성되지 않습니다. ls
를 할 때

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • 우리 프로그램이 사용할 종속성(패키지)을 보관하는 폴더인 node_modules가 있습니다.
  • 또한 잠금 파일 역할을 하는 package-lock.json이 있으므로 이름이 붙여졌습니다. 프로그램을 생성하기 위해 설치하고 사용하는 패키지의 정확한 버전을 캡처합니다. 이렇게 하면 동일한 패키지의 다른 버전이 다르게 동작할 수 있으므로 동일한 패키지와 특정 버전을 항상 사용할 수 있습니다.

어쨌든 우리는 세 가지 방법 또는 오히려 환경에서 패키지를 설치할 수 있습니다. 기본적으로 패키지를 사용하려는 위치입니다.

  • global: 보유한 모든 노드 프로그램에 액세스할 수 있습니다. 일반적으로 명령줄 유틸리티와 같은 범용 프로그램인 경우 전역적으로 패키지를 설치합니다.
  • development: 이는 개발 전용이며 원격 서버가 해당 종속성의 사용 사례를 처리하는 방식을 가지므로 일부 원격 서버에서는 사용되지 않습니다. 이는 일반적으로 목적을 달성하기 위해 다른 라이브러리와 함께 작동하는 유틸리티 라이브러리입니다. 여기에는 eslint, prettier, dotenv 등이 포함되지만 이에 국한되지는 않습니다.
  • 프로덕션: 이는 애플리케이션이 기능을 수행하기 위해 주로 의존하는 패키지입니다. 특급처럼요.

우리는 할 수 있어요,

  • npm i -g package-names ... 패키지를 전체적으로 설치하려면
  • npm i --global package-names ... 패키지를 전체적으로 설치하려면
  • npm i -S package-names ... 패키지 설치(프로덕션용)
  • npm i --save package-names ... 패키지 설치(프로덕션용)
  • npm i -D package-names ... 패키지 설치(개발의 경우 애플리케이션을 실행하는 데 필요하지 않음)
  • npm i --save-dev package-names ... 패키지 설치(개발의 경우 애플리케이션을 실행하는 데 필요하지 않음)
  • npm uninstall package-names ... 패키지를 제거하거나 제거하려면

기본적으로 이것이 패키지를 관리하는 데 필요한 전부입니다.

릴리스 선언문 이 글은 https://dev.to/otumianempire/what-is-nodejs-4h10?1 에서 복제되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3