목록개발/Node (9)
레커
Yarn Berry란? Yarn(yet another resource negotiator)은 facebook에서 빌드하고 google, Exponent 및 Tilde에서 지원하는 Javascript 패키지 및 종속성 관리자이다. Yarn Berry는 Node.js를 위한 새로운 패키지 관리 시스템으로, Yarn v1의 주요 개발자인 Maël Nison 씨가 만들었습니다. NPM의 문제점 commonJS에서는 로컬 파일 시스템으로부터 모듈을 임포트하기 위해 require.resolve 알고리즘에 의해 node_modules를 순회하면서 모듈의 위치를 찾아냅니다. NPM은 패키지를 찾기 위해서 계속 상위 디렉토리의 node_modules 폴더를 탐색합니다. 패키지를 바로 찾지 못할수록 느린 I/O 호출이 반..
1. nodemon 사용 이유 파일 변경 사항을 감지하여 자동으로 애플리케이션을 자동으로 다시 시작해줘서 개발 시간을 단축해주는 도구 2. 설치 npm i -D nodemon 3. package.json 설정 "scripts": { // nodemon 통해 server.js 실행 "dev": "nodemon server.sj" }, 설정 후 터미널에 아래 명령어로 실행하면 끝! npm run dev
1. EJS Engine 및 사용 이유 동적 웹 페이지 및 애플리케이션을 만들 때 주로 선택되는 템플릿 엔진 중 하나 EJS 엔진은 개발자에게 편리한 방식으로 동적 웹 콘텐츠를 생성하고 관리할 수 있는 효율적이고 유연한 도구입니다. ( JavaScript를 사용하여 템플릿을 정의하고 데이터를 렌더링 할 수 있고 로직을 통해 쉽게 통해 동적 콘텐츠를 생성하고 컨트롤 할 수 있음) 2. 설치 npm install ejs 3. express에 ejs 등록기본 코드 const path = require("path"); app.set("views", path.join(__dirname, "views")); app.set("view engine", "ejs"); views String or Array A direc..
1. 사용하는 이유 사용자의 인증(authentication) 또는 인가(authorization) 정보를 서버와 클라이언트 간에 안전하게 주고 받기 위해서 사용 2. 패키지 설치 npm i jsonwebtoken 3. jsonwebtoken 생성 jwt.sign( payload, 비밀키, 옵션, callback ) 1) expiresIn 옵션 : 토큰의 유효 기간을 지정할 때 사용 const accessToken = jwt.sign(test, secret, { expiresIn: "30s" }); ※ 주의 비밀키는 외부에 노출하면 인증의 의미가 없음 env 등을 통해 키 보호 3. jsonwebtoken 검증 jwt.verify( toeken, 비밀키, callback ) const verify = j..
1. 사용 이유 Express에서 정적 파일 제공하기 위한 Express의 기본 제공 미들웨어 함수 (정적 파일 제공 이미지, CSS 파일 및 JavaScript 파일 등) 2. 등록 예시) 프로젝트 최상단 경로에 'public' 이라는 폴더로 경로 지정 1) 기본 사용법 app.use(express.static('public')); 2) 가상 경로 지정 app.use('/static', express.static('public')); 3) 절대 경로 지장 const path = require('path'); app.use('/static', express.static(__dirname + '/public')); 참고 https://expressjs.com/ko/starter/static-files.ht..
1. 설치 npm i express 2. 기본 코드 //express 모듈 가져오기 const express = require("express"); // express 로 된 app 생성 const app = express(); const port = 4000; // "/" 경로요 요청이 오면 작동 app.get("/", (req, res) => { res.send("Hello World!"); }); // 해당포트로 http 서버 실행 app.listen(port, () => { console.log(`Example app listening on port ${port}`); }); 3. router 설정 const express = require("express"); const app = express..
1. 생성 const http = require("http"); const port = 4000; //모든 node 웹 서버 애플리케이션은 웹 서버 객체를 만들어야 합니다 // http 객체 생성 const server = http.createServer((req, res) => {}); // 웹서버 객체 실행 server.listen(port, () => { console.log("listening on port " + port); }); 2. requset & response const http = require("http"); const port = 4000; const server = http.createServer((req, res) => { // 응답헤더 설정 res.setHeader("Con..
1. 설치 npm init ----------------------------------------- npm init -y // 추가 설정 없이 바로 시작 2. package.json { "name": "프로젝트 이름", "version": "1.0.0", "description": "", "main": "test.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" } 3. 추가 패키지 설치 npm install 패키지명@ npm i 패키지명@ --save : 프로젝트(패키지)가 배포(Deploy) 시 사용될 의존성 모듈을 설치할 때 작성 ..