>  기사  >  웹 프론트엔드  >  Nodejs란 무엇인가요?

Nodejs란 무엇인가요?

PHPz
PHPz원래의
2024-08-01 01:44:23808검색

What is Nodejs

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

Nodejs를 사용해야 하는 이유

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

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

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

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

설치

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

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

이 중 처음 세 사람은 친절합니다. 그러니 그중 하나를 선택하십시오. 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 플랫폼(웹사이트)의 동일한 스크립트입니다. 따라서 이러한 명령을 실행할 때 아무런 문제가 없어야 합니다.

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

# 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에만 집중하겠습니다.

Javascript뿐만 아니라 nodejs 프로젝트를 시작하려면 노드 패키지를 사용해야 합니다. 즉, 타사 라이브러리(우리가 작성하지 않았거나 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 <pkg>` 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, ...

를 쳤습니다.

Another way to run through this without hitting ENTER, ENTER, …, is to do, npm init -y . -y, mean, yes, use the default values.

Primarily, node packages are on npmjs.com. Let’s say we want to install the expressjs library. This is how to search for express on npmjs. The docs will tell you how to install it using the command, 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 means install. You write it out as npm install express. The package.json will be updated with the package added.

{
  "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"
 }
}

Now, we have a new dependency.

Note that no file or folder will be created. When we do ls

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • We have node_modules, which is a folder that holds the dependencies (packages) our program will use.
  • Also we have, package-lock.json, which serves as a lockfile, hence the name. It captures the exact versions of the package that we install and use to create our programs. This way, the same packages and their specific versions can be used all the time since different versions of the same package may behave differently.

Anyways, we can install packages in three ways or rather environment. This is basically where you want the package to be used.

  • global: This will be accessible to all node programs you have. Usually, install packages globally when they are general purpose programs like command line utilities.
  • development: This is meant for development only and not used on some remote servers since the remote server will have its way of handling the use case of that dependency. These are usually utility libraries that work with other libraries to achieve a purpose. These may include but are not limited to eslint, prettier, dotenv, etc.
  • production: This is a package that our application primarily relies on to function. Like express.

We can do,

  • npm i -g package-names ... to globally install a package
  • npm i --global package-names ... to globally install a package
  • npm i -S package-names ... to install a package (for production)
  • npm i --save package-names ... to install a package (for production)
  • npm i -D package-names ... to install a package (for development, you won’t need it to make our application run)
  • npm i --save-dev package-names ... to install a package (for development, you won’t need it to make our application run)
  • npm uninstall package-names ... to remove or uninstall package

Essentially this is all that we will need to manage our packages.

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

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