분류 Nodejs

Ultimate Node.js 초보자 튜토리얼

컨텐츠 정보

  • 조회 369 (작성일 )

본문

이 튜토리얼은 Node.js로 프로그래밍하고 싶지만 Node.js에 대해 아직 잘 모르는 모든 개발자를 위한 것입니다. Node.js는 점점 더 대중화되고 있으며 모든 웹 개발자는 최소한 기본 사항을 알아야 합니다. 이 학습서 후에는 이 그룹에서 자신을 명확하게 셀 수 있습니다.

이 Node.js 튜토리얼을 통해 빨간 실을 갖기 위해 요점 시간을 요약했습니다.


1. Node.js는 무엇입니까? 


Script. Language JavaScript는 Node.js를 사용하여 서버 측 프로그래밍으로 향했습니다. Node.js 이전에는 JavaScript가 주로 프론트 엔드와 방문자와의 상호 작용을 담당했습니다. Node.js를 사용하면 작은 CLI (명령 줄) 도구에서 복잡한 프로그램 및 HTTP 서버까지 개발할 수 있습니다. 정확히 이 범용적 유용성은 Node.js를 개인적으로 그리고 다른 많은 개발자들에게도 독창적으로 만듭니다!


Node.js가 정말로 필요한지 궁금해서 사용하고 싶다면 아래에서 가장 자주 묻는 질문을 읽고 Node.js가 적합한 기술인지 결정해야 합니다.


성공의 또 다른 중요한 이유는 Node.js와 함께 제공되는 온보드 리소스입니다. 처음부터 Node.js에는 이미 사용하기 쉬운 많은 기능과 모듈이 있습니다. 시스템을 더욱 완벽하게 만들기 위해 npm (노드 패키지 관리자)이라고 하는 패키지 관리자가 있습니다. 자세한 정보는 나중에 Node.js 모듈 섹션에서 찾을 수 있습니다. 어쨌든 다른 개발자의 확장 기능과 같은 새로운 기능을 추가하는 것은 매우 쉽습니다.


처음에는 유망한 것처럼 들리지만 그것에 대해 구체적인 것을 상상할 수 있습니까? 아마 아닙니다. 내가 알지 못하는 주제에 대해 이와 같은 것을 읽으면 적어도 쉽지 않을 것입니다. 따라서 이 기사 마지막 부분에서 이 섹션을 다시 한 번 읽어 보면 내가 무엇을 말하는지 알게 될 것입니다. ;)


2. Node.js 설치 


프로그래밍을 시작하기 전에 먼저 컴퓨터에 Node.js를 설치해야 합니다. 이제 개발하려는 운영 체제를 선택하십시오. Windows 또는 Mac…?


2.1 윈도우 


Windows에서는 설치 프로그램을 다운로드하고 설치 지침을 따를 수 있습니다. LTS (Long-term support) 버전은 이미 설정되어 있으며 최신 버전보다 버그가 적으므로 다운로드하는 것이 가장 좋습니다. Windows Installer 


2.2 맥 


Mac에서는 Windows와 마찬가지로 공식 설치 프로그램을 다운로드하고 설치 지침을 따를 수 있습니다. LTS (Long-term support) 버전도 이미 설치되어 있으며 최신 버전보다 버그가 적으므로 다운로드하십시오. 맥 인스톨러 


2.3 Plesk (호스팅) 


Plesk를 사용하여 도메인을 관리하고 거기에 앱을 호스팅 하려는 경우 Node.js 확장자만 있으면 간단한 클릭으로 다운로드 할 수 있습니다.


Plesk GUI - Node.js Installation 


그러나 개발하려면 Mac 또는 Windows 컴퓨터에서 로컬로 작업해야 합니다. 앱이 준비되고 배포하려는 경우 이 가이드를 사용하여 도움을 받을 수 있습니다.


3. CLI 


CLI는 명령 줄 인터페이스를 나타내며 명령 줄을 의미합니다. Mac에서는 사전 설치된 프로그램 "Terminal"과 Windows에서 명령 프롬프트 (cmd.exe)를 사용할 수 있습니다.


Windows cmd.exe 


이를 통해 Node.js를 "제어"할 수 있습니다. 명령 노드를 사용하면 이제 모든 JavaScript 명령을 실행할 수 있습니다. 이 기사의 추가 과정에서 이제 CLI가 이해할 수 있는 내용을 알게 됩니다.


4. Node.js 모듈 


Node.js의 핵심 보석은 모듈입니다. 처음에는 Node.js에 패키지 관리자가 있다고 언급했습니다. CLI의 약어 및 명령은 npm (노드 패키지 관리자)입니다.


NPM은 응용 프로그램에 대해 무료로 다운로드 할 수 있는 거대한 개발 도구 네트워크입니다. Node.js로 작업하면 다른 개발자의 모듈에 반복해서 의존해야 한다는 것을 알게 될 것입니다. 휠을 항상 재발 명할 필요는 없습니다.


이 예에서는 express 모듈을 다운로드합니다.


npm install express


전역으로 모듈을 설치할 수도 있습니다. 즉, 전체 컴퓨터에 적용되며 한 프로젝트에서만 사용할 수 있습니다. -g 매개 변수를 추가하십시오.


npm install -g express


모듈을 설치하면 node_modules 폴더가 자동으로 생성됩니다. 이 폴더에는 설치된 모든 모듈이 포함되며 일반적으로 사용자가 무시할 수 있습니다. 이 방법으로 나중에 코드에 모듈을 포함 시킬 수 있습니다.


const express = require('express');


5. 첫 번째 프로젝트 


5.1 프로젝트 생성


이제 우리는 마침내 프로그래밍을 시작했습니다. Node.js 프로젝트를 만들려면 모든 디렉토리에 일반 폴더를 만들면 됩니다. 여기에서 시작 파일 인 index.js를 만듭니다.


Node.js Folder structure 

5.2 Node.js 앱 초기화 


이제 이 폴더에서 Node.js 앱을 만들고 싶다고 말해야 합니다. 이 명령으로 수행하십시오.


npm init


패키지 이름, 버전 및 설명과 같은 다른 매개 변수가 필요합니다. 이 필드를 채우거나 기본값을 그대로 두십시오. 나중에 언제든지 이 설정을 변경할 수 있습니다.


npm init 


5.3 package.json 


package.json 파일이 폴더에 생성되었습니다. 이 파일에는 제작자, 버전 및 가장 중요한 모든 설치된 종속성 (모듈)에 대한 모든 정보가 포함되어 있습니다.


// package.json

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


5.4 프로그램 코드 작성 


이제 index.js에서 첫 번째 JavaScript 코드를 작성할 수 있습니다. 물론 우리는 그것 없이는 할 수 없으며 "Hello World"를 사용해야 합니다.


// index.js

console.log('Hello World');


5.5 시험 신청 


첫 번째 코드가 작성되었으며 프로그램을 시작하려고 합니다. 이것이 우리가 이 명령으로 하는 일입니다 


node index.js


우리는이 결과를 얻습니다. ?


Node Hello World 


6. 자동 앱 재시작 (Nodemon) 


코드를 조금씩 바꾼 후에 Node.js 앱을 수동으로 다시 시작해야 할 때 정말 성가시지 않습니까? 맞습니다. 그래서 우리는 전 세계적으로 설치되는 nodemon 모듈이 있습니다. 이 모듈은 파일 변경을 감지하고 밀리 초 내에 Node.js 앱을 다시 시작합니다. 이것은 우리의 작업 흐름을 엄청나게 빠르게 합니다.


npm install -g nodemon


설치 후 우리는 이 명령으로 Nodemon을 시작하고 즉시 앱이 시작되고 변경되면 자동으로 다시 시작됩니다.


nodemon index.js


이제 프로젝트 폴더 내에 파일을 저장하면 Node.js 앱이 자동으로 다시 시작됩니다.


Nodemon Example 


7. 브라우저 출력 


이제 브라우저에 컨텐츠를 전달할 수 있도록 첫 번째 소형 웹 서버를 설정하려고 합니다. 따라서 다음 명령을 사용하여 모듈 express를 설치합니다.


npm install express


그리고 우리는 index.js를 다음과 같이 조정합니다.


// index.js

const express = require('express');
const app = express();

app.get('/', (request, response) => {
  response.send('Our first Node.js webserver');
});

app.listen(3000, () => console.log('Server running on port 3000'));


모든 것을 이해하는 데 도움이 되도록 다음은 한 줄씩 설명입니다.

3 행 : 고속 모듈의 통합.

4 행 : 변수 앱에서 Express 모듈 초기화

6 행 : 서버에서 / 로의 페이지 호출을 가로 채서 조치를 수행합니다.

7 행 : "첫 번째 Node.js 웹 서버"텍스트를 요청자에게 답장으로 보냅니다.

9 행 : 포트 3000에서 웹 서버를 시작하고 콘솔에 메시지를 표시합니다.


포트 3000에서 컴퓨터를 브라우저에 요청하면 다음과 같은 결과가 나타납니다.


Browser tab Node.js Example 


간단하지 않습니까? 그렇기 때문에 Node.js가 정말 훌륭합니다. 자신의 웹 서버에는 7 줄의 코드 만 있으면 됩니다.


이제 경로를 약간 조정하면 이미 전송 된 데이터를 반환 할 수 있습니다.


// index.js

const express = require('express');
const app = express();

app.get('/:yourName', (req, res) => {
  res.send('Your name: ' + req.params.yourName);
});

app.listen(3000, () => console.log('Server running on port 3000'));

여기서 : yourName은 URL에 전달할 수 있는 변수 문자열을 나타내며 req.params.yourName을 사용하여 이를 읽고 사용자에게 다시 보낼 수 있습니다.


이제 http : // localhost : 3000 / test를 호출하면 주어진 이름의 응답을 문자열로 받습니다. 따라서 코드를 거의 사용하지 않고도 데이터를 읽고 보낼 수 있습니다.


8. FAQ 


언제 Node.js를 사용합니까? 


Node.js는 주로 "일반"동적 웹 사이트 및 백엔드 API (RestAPI)에 사용됩니다. 또한 Node.js는 실시간으로 데이터를 처리해야 하는 애플리케이션 (예 : 채팅)에서 자주 사용됩니다.


Node.js는 프로그래밍 언어입니까? 


물론 아닙니다. Node.js는 스크립팅 언어 JavaScript와 네트워크 구성 요소를 연결합니다. Node.js는 Google V8 JavaScript 엔진에서 개발되었으므로 Node.js는 HTTP, DNS 및 TCP 프로토콜과 같은 네트워크 기술의 기초를 마스터합니다.


Node.js를 쉽게 배울 수 있습니까? 


Node.js는 프레임 워크가 아니며 프로그래밍 언어가 아니므로 JavaScript를 배우기 쉬운 지 스스로에게 물어봐야 합니다. 설문 조사에 따르면 JavaScript는 배우기 가장 쉬운 스크립팅 언어 중 하나입니다.


미들웨어 란 무엇입니까? 


미들웨어는 가공 프로그램, 즉 두 구성 요소 간에 실행되는 기능입니다. 예를 들어, 사용자가 / settings를 호출하면 실제 프로그램 코드는 사용자가 로그온 한 경우에만 실행해야 합니다. 이를 위해 미들웨어 함수를 작성하고 이 함수를 전에 호출하십시오. 동일한 코드 (로그인 확인)를 여러 번 사용할 수 있지만 한 번만 작성하면 됩니다.


Node.js 앱을 어떻게 그리고 어디서 호스팅 할 수 있습니까? 


예를 들어 Heroku에서 Node.js 앱을 무료로 호스팅 할 수 있습니다. 그러나 자신의 서버가 있다면 Plesk에서 자신의 Node.js 앱을 무료로 호스팅 할 수 있습니다. 여기에서 완전한 가이드를 만들었습니다.


package.json의 기능은 무엇입니까? 


Node.js 앱의 package.json에는 이름, 작성자 등에 대한 정보가 포함되어 있습니다. 가장 중요한 것은 종속성입니다. 앱에서 사용하는 모듈 (종속성) 목록입니다. 스크립트를 사용하여 앱을 실행하거나 테스트하는 명령을 정의 할 수도 있습니다.


node_modules 폴더는 무엇을 합니까? 


node_modules 폴더에는 node.js에 포함 된 모든 모듈이 포함되어 있습니다. 이 폴더에는 표준 모듈 뿐만 아니라 추가로 설치하고 스크립트 아래 package.json에 나열된 모든 모듈도 포함됩니다. npm install 명령은 모든 모듈을 폴더로 다시 다운로드하기 때문에 node_modules 폴더를 git 리포지토리 또는 라이브 호스팅으로 푸시 할 필요가 없습니다.


결론 


한 번에 많은 정보가 그렇지 않습니까? 그럼에도 불구하고 Node.js로 가능한 것들에 대해 좋은 인상을 받았기를 바랍니다. 그렇다면 webdeasy.de를 계속 둘러보고 웹 개발에 대한 더 흥미로운 기사를 읽으십시오. 당신은 의견에 정착되지 않은 질문을 쓸 수 있습니다! :)