엠마의 개발공부일지

3/30 본문

Stack/etc

3/30

Emmababy 2021. 3. 30. 21:34
728x90

node js 는 실행환경

(정확히는 프레임워크가 아니다, spring처럼 MVC패턴이 정해진것처럼 정해진틀이 없다, JS로 실행되는 실행환경이고, 그 위에 원하는코드를 맘대로 쌓아올리는 방식)

 

node js가 있기때문에, webstorm과 같은 IDE에서도 JS를 실행가능(원래는 웹에서만 파일실행이 가능했음)

node로 js실행

==> terminal에서 node main.js / node main

==> terminal에서 node 치고나면, js코드 코딩 및 실행가능(노드와 대화하는것처럼 실행) [REPL 모드]

(REPL모드는 짧은 코드만 써야함, 간단한걸 실험해보고싶을때 사용)

 

 

모듈

전체를 이루는 부품 하나하나(js파일)

 -main.js : require() 는 모듈을 끌어와 1개의 객체를 리턴

 -math-tools : 이 모듈에서 내용을 내보내려면 exports.addMath = add; (add함수를 addMath라는 이름으로 내보낸다)

 

<모듈을 공개>모듈안에 변수, 상수, 객체모두 export하여 다른js파일에서 사용가능

<객체를 공개> module.exports : 공개하고자 하는것을 객체에 모아서, 객체를 공개

원래 math-tools모듈
객체에 모은 이후의 math-tools모듈

 

console.dir : 특정 객체의 내부 속성들을 모두 출력해주는 함수

 

 

코어모듈 : fs, os같은 서버프로그램을 만드는데 필요한 모듈을 모아둠

(기존 브라우저위에서만 구동되는 js에는 필요없는 모듈임(보안상의 이유), 하지만 서버단을 만들어야하므로 새로생김)

 

node js와 브라우저의 차이

사용가능한 api가 다르다. ui관련 api필요여부, window객체 필요여부, 컴퓨터제어 API(파일생성, 컴퓨터정보확인)

 

 

(npm)써드파티모듈 : 다른개발자나 회사가 만든 모듈  / node_modules에 저장됨

 

 

 

 

 

 

비동기 프로그래밍

콜백

이벤트(코어모듈은 이벤트기반으로 돌아감)

 

 

 

 

 

 

 

 

웹서버만들기

의도 : 클라이언트의 요청에 대해 node js를 사용해 응답할 수 있는 프로그램을 만드는것

 

 

포트번호

: 서버안에 원하는 프로그램에 요청을 보내기 위함

 

ip주소

: 127.0.0.1 => 자기자신을 가르키도록 하는 주소

localhost:3000 = 127.0.0.1:3000

 

server.listen(3000)

: "서버야 3000번 포트를 할당받아서, 해당프로그램을 실행하거라"

 

 

 

 

 

 

 

728x90

'Stack > etc' 카테고리의 다른 글

promise  (0) 2021.04.05
node js - ajax로 게시판 만들기  (0) 2021.04.02
MySQL설치경로 확인하기  (0) 2020.11.25
게시판 만들기 (테이블효과)  (0) 2020.11.14
부트스트랩 cdn  (0) 2020.11.14
Comments