웹개발 복습 정리 25 : Node.js

Kimhojin_Zeno·2023년 4월 9일
0

웹개발 복습 정리

목록 보기
25/30

Node는 브라우저 밖에서 실행되는 JavaScript의 실행환경이다.

Node는 JavaScript의 런타임.

자바스크립트 구문을 써서 서버 측에서 실행되는 코들르 작성할 수 있다.

Node로 할 수 있는 것.

  1. 웹 서버 구축. 풀스택 어플리케이션을 만들 수 있다. Express라는 프레임워크를 이용.
  2. Command line tools(명령줄 도구)를 만드는 데도 쓰인다. npm도 명령줄 도구.
  3. Native app을 만들수 있다. VSCode가 node로 만들어진 앱이다. Slack도 node 앱. Electron이라는 툴로 만들어졌다. 브라우저와 네이티브 앱에서 다 작동한다. 하나의 코드 베이스를 mac이나 윈도우나 브라우저에서 다 작동시킬 수 있다는 것. twitch와 whatsapp도 마찬가지.

Node REPL

터미널에서 node를 입력하고 엔터치면 꺽쇠가 나타난다.

여기가 Node REPL이다.

Read Evaluation Print Loop의 약어.

읽고 평가하고 출력한다. 그리고 그걸 반복.

크롬 개발자도구 같은 콘솔창이다.

여기에서 자바스크립트를 쓸 수 있음.

다만 브라우저가 아니기 때문에 DOM문서 객체 모델 같은것이 없다

document가 없다는 뜻. window도 없다.

최상위 전역 객체는 global이다.

global.setTimeout 이렇게 쓴다.

global을 붙이지 않아도 똑같음. 여기에 포함되어 있다.

브라우저에는 없는 기능이 있다. 운영체제와 파일, 폴더를 다룰 수 있음.

종료하려면 컨트롤 씨. 또는 .exit

Node REPL은 코드를 작성하거나 실행할 수는 없다.

대신 JavaScript 파일에서 코드를 작성할 수 있다.

abc.js 파일을 만들고 코드를 넣으면

node abc.js

로 코드를 실행할 수 있다.

process

process는 Node에서 사용하는 객체.

전역 범위에 있다. 사용하는 Node의 정보를 포함한다.

process에는 많은 객체와 메서드가 있다.

process.version 버전

process.release 사용중인 특정정보

process.cwd() 현재 작업 위치나 실행하는 node를 알려줌

process.argv 실행 시 인자를 받을 수 있다.

// node arg.js test1 test2
console.log(process.argv[0]);    // process.execPath node를 실행할 수 있는 특성
console.log(process.argv[1]);    // arg.js의 경로
console.log(process.argv[2]);    // test1
console.log(process.argv[3]);    // test2

FS

File System 파일 시스템을 의미하는 모듈

파일을 생성하고 읽고 파일에 추가하고 새로운 파일을 만들 때 쓰이는 다양한 메서드가 있다.

const fs = require('fs')

fs를 쓰려면 이렇게 require로 가져와야 한다. fs는 내장되어 있다.

fs.mkdirSync('cats'); //동기방식 디렉토리 생성

파일 시스템은 동기 방식과 비동기 방식으로 작동한다.

비동기 방식은 완료되었다는 콜백을 마지막 인수로 받아들임.

동기 방식은 요청을 한 후 완료되어야지만 다음 동작으로 넘어간다는 것.

profile
Developer

0개의 댓글