ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Node.js 프로그래밍 | KOSMO
    Front-end/개발환경 2020. 3. 4. 23:41
    반응형

    1. Node.js 시작하기

    # Node.js 특징

    - 모듈과 패키지

    - 비동기 입출력

    - 이벤트 기반 입출력

    # pakage.json 설치

    > npm init  모듈 설치하기 전에 제일 먼저 설치

     

    # 외장 모듈 사용하기

    > npm install -g nconf --save  글로벌 경로에 설치 * --save : 생략 가능

    > num install nconf --save  현재 폴더 경로에 설치

    > npm uninstall nconf  외장모듈 삭제

    ※ npm install (plugin) --save 와 npm install (plugin) --save-dev의 차이

    > npm install (plugin) --save

     - 패키지(plugin)를 ./node_moduels 디렉터리에 설치하고 ./package.json 파일의 dependencies 항목에 플러그인 정보가 저장

     - production 빌드시 해당 플러그인이 포함

    > npm install (plugin) --save-dev

     - 패키지(plugin)를 ./node_moduels 디렉터리에 설치하고 ./package.json 파일의 devDependencies 항목에 플러그인 정보가 저장

     - production 빌드시 해당 플러그인이 포함되지 않습니다.

    ※ 도메인의 구성    * ex) https://search.naver.com/search.naver?sm=top_hty&fbm=0

    ㆍurl : 주소    

    ㆍ? : 쿼리 스트링

    ㆍ& : 구분자

    ㆍsm : 파라미터 네임

    ㆍtop_hty : 값

     

    # npm 버전 맞추기

    "dependencies": { "express": "^4.17.1", "mongodb": "^3.3.0-beta2" }

    1. package.json 의 버전을 수정 후

    2. 'node_modules' 폴더와 'package-lock.json' 파일 삭제

    3. cdm 창에서 npm install

    4. 수정한 버전에 맞게 재설치

    ※ 기존 서버측 프로그래밍 언어 : JSP&Suervlet(JAVA 기반), PHP(C언어 비슷), ASP(VB 기반)

    ※ NodeJs 에서 뷰엔진이 동적 페이지를 설정한다.

    - 뷰엔진 : EJS, PUG(Jade), 핸들바 등 ...

    - 프론트엔드 프레임워크 : Vue.js, React.js, 백본, Angular (Webpack, Babel, CommonJS 등을 이용한 라이브 러리이다)

    # MVC (Model-View-Controller)

    ㆍModel : 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다.   * 몽고디비

    ㆍView : 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다.    * EJS

    ​ㆍController :  모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다.   * js파일

     

    # 쿠키

     : 클라이언트쪽 웹브라우저가 사용하는 Temp 폴더(컴퓨터)에 저장

     - response 로 보내고 request로 받는다

    # 세션

     : 웹 서버에 저장

     - 브라우저 한 개당의 정보를 서버가 체크 (브라우저를 닫으면 사라짐)

     - request로 요청하고 request로 받는다

     - cookie-parser 미들웨어와 함께 사용

    # multer 모듈

     : 멀티파트 폼 데이터

     - 음악,이미지 파일을 일반 데이터와 함께 서버로 보내는 표준

     - body-parser 미들웨어를 함께 사용

    # cors 모듈

    : 크로스 도메인 문제 해결

    * 크로스 도메인 문제 : 포트만 달라도 서로 다른 서버라서 요청은 받지만 돌려주지 않는다.

     

    ※ 예제파일 폴더 구조 설명

    ㆍpublic : 클라이언트    ㆍviews : 서버사이드    ㆍ그외 .js 파일 : 컨트롤러

    반응형

    댓글

Luster Sun