[Node.JS] Node.JS_02 - npm express

박소윤·2021년 3월 7일

NODE 강의

목록 보기
6/8
post-thumbnail

타인이 작업하여 내보내진 파일을 ( 외부 소스 파일 ) : Module.exports
불러와서 [ require 파일명 ] 실행하는 방법

# 다양한 형태의 패키지로 업로드 된 파일들 보는 방법

# npm

[ npm으로 불로올시 필요 설치 링크 ]

📌 package.json 생성하기

package.json에서는 주석을 사용할 수 없다.
init : 초기화로 생성하다

[ npm init, 패키지 생성과정 진행 ]

[ vscode 에디터 - json형태 ]

package.json의 내용이 반복적으로 작업할 다른 패키지에도 적용될경우
comder에서 생성시 npm init -y 로 통일 가능

# npm으로 모듈 패턴 내려받기

- npm install express >
- npm install uuid4

[ uuid4 Framework ]

const uuid4 = require("uuid4");
console.log(uuid4());


🧨 package-lock.json 역할

- npm install express
   - lodash v3 library에서 최적화    - body-parser ...

- npm install uuid4
   - lodash v4 library에서 최적화

모듈 충돌 방지

[ 공통적으로 lodash v4 라이브러리 하나만 표시할 경우 오류 방지를 위하여 각각의 library에 하위에 참조하는 Framework들이 package-lock.json에 명시 ]

# npm 실행

사용자가 작업한 파일이나, 내려받은 파일을 실행하고자 할경우
npm 예약어
- start : npm start 파일 실행
- dev : npm run dev 파일 실행

package.json >

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },

//변경

 "scripts": {
    "start": "node index.js"
  },

[ npm start 결과 ]


📌 Express

# 웹서비스 관점

# Express 없이 웹서버

[ Express없이 Response 작성 ]
- js 파일에 내용을 넣어 저장 > cmder에서 해당 파일 node 실행 > 인터넷 localhost:3000

const http = require("http");

http
  .createServer((request, response) => {
    response.writeHead(200, { "Content-Type": "text/plain" }); 
    // "Content-Type": "text/plain" -> 응답할 형태
    response.write("Hello Server");
    response.end();
  })
  .listen(3000);   //-> localhost:3000

# Express 웹서버

[ express 사용하여 웹서버 응답 작성 ]

const express = require("express");
const app = express();
const port = 3000;

app.get("/", (req, res) => {
  res.send("응답해서 보여드립니다");
});

app.listen(port, () => {
  console.log("Express listening on port", port);
});

[ 서버 가동 ]

[ 서버 가동하여 인터넷으로 구현 결과 ]

# 주소추가하여 인터넷 실행

const express = require("express");
const app = express();
const port = 3000;

app.get("/", (req, res) => {
  res.send("응답해서 보여드립니다");
});

app.get("/myblog", (req, res) => {
  res.send("주소를 추가하여 응답하였습니다");
});

app.listen(port, () => {
  console.log("Express listening on port", port);
});

수정한 작업을 저장 > cmder 해당파일 서버 닫고 ( ^C명령어 ) node 실행
node app.js > 인터넷 주소창에 http://localhost:3000/myblog


# nodemon

npm install nodemon -g

작업 수정시 마다 매번 서버 닫고 여는과정의 불편함을 한번에 해결,
수정사항을 자동으로 인지하여 실행
cmder > nodemon app.js

package.json start로 명시가능
nodemon이 설치 되어있지 않은경우 start에 npx nodenom 파일명시 자동설치 및 실행가능


React를 사용하여 npm을 통해 실행할때 package.json이 없으면 실행이 안돼는 경우에 대한 이유나 원인 등에대해 모르는 상태로 "깃허브에서 내려받으면 npm install 하면끝." 이란 생각만 가지고있었는데, 그런 package.json만드는 법을 보니 신기함과 왜 사용하는지 알게되었다.



- 202102307 -

[ 02.nodejs 기초 & 03. Express ]
[ 챌린지 NODE강의 링크 ]   ->   Node.JS 강의

profile
흐르듯 그리는 Front-end

1개의 댓글

comment-user-thumbnail
2021년 3월 9일

안녕하세요!
본문과 관련없는 내용으로 댓글을 달아서 죄송합니다 ㅠㅠ
소윤님께 메일을 보내고 싶은데, 메일 주소를 찾을 수 없어서 이렇게 댓글을 남깁니다.
혹시 괜찮으시다면 joon@ad-shield.io로 연락을 주실 수 있을까요..?

답글 달기