🎯 웹 프레임워크(Web Framework)란 웹 서비스를 빠르게 구현할 수 있게 도와주는 도구를 의미한다.
🎯 웹 서버의 기본 개념과 역할을 동일하더라도, 각각의 웹 서버나 프레임워크는 자신만의 특징과 장점을 가지고 있다. 이를 파악하고 현재 상황에 가장 적합한 도구를 선택하는 것이 가장 중요!!

🎯 Express.js는 Node.js로 서버를 빠르고 간편하게 만들 수 있게 도와주는 가장 대표적인 웹 프레임워크이다. 이를 통해 개발자들은 효율적이고 빠르게 백엔드 서버를 구축할 수 있게된다.
- 🎯 Express.js와 웹 서버(Web Server)는 동일하지 않다!
- 🎯 Express.js는 웹서버 자체가 아니라, 웹 서버를 구현하는데 도움을 주는 도구이다. 즉, Node.js를 위한 웹 프레임워크이며, 우리는 웹 서버를 구현할 때 Express.js 프레임워크를 사용하게 될 것이다!!
💡 모듈(Module)은
Javascript를 파일 단위로 분리된 코드 덩어리를 일컫는다.
여기서Javascript파일은 특정한 기능을 가진 여러 개의 함수와 변수들의 집합체를 의미한다.
모듈이 필요한 이유는 ?
- Module 은 주로
export명령어를 변수나 함수 앞에 붙이면 외부 모듈에서 해당 변수나 함수에 접근 → 이렇게 하면 하나의 큰 프로그램들을 작게 나누어, 다른 파일에서도 재사용 할 수 있다.- 또는
import,require명령어를 사용하면 외부 모듈의 기능을 가져올 수 있음 !
import { add } from './math.js'
// 이 코드에서 ./math.js는 파일 경로를 나타내는데, ./으로 시작하는 경로는 ‘상대 경로’ 라는 것을 나타내게 된다.
// 즉, ./math.js는 현재 파일이 위치한 디렉토리에서 math.js 라는 이름의 파일을 찾는 것을 의미
/** 화살표 함수 export **/
// 모듈을 호출했을 때, addArrowFunction 키 값에는 addArrowFunction 변수 함수가 가지고 있는 값이 할당된다.
export const addArrowFunction = (a, b) => {
return a + b;
}
/** 화살표 함수 import **/
import { addArrowFunction } from './math.js'
console.log(addArrowFunction(5, 3));
// Print: 8
/** 익명 함수 export **/
// 모듈을 호출했을 때, addAnonymousFunction 키 값에는 (a,b){return a + b;} 익명 함수가 할당된다.
export const addAnonymousFunction = function (a, b) {
return a + b;
}
/** 익명 함수 import **/
import { addAnonymousFunction } from './math.js'
console.log(addAnonymousFunction(9, 3));
// Print: 12
/** export default Object **/
// 모듈을 호출했을 때, add 키 값에는 add 함수가 들어가는 방법이다.
const defaultObject = {
add: add,
}
export default defaultObject;
/** import default Object, 모듈 전체 가져오기 **/
import * as math from './math.js'
console.log(math.default.add(13, 8));
// Print: 21
/** import default Object, 모듈 전체 가져오기 **/
import { default as defaultObject } from './math.js'
console.log(defaultObject.add(17, 2));
// Print: 19
/** export default Function **/
// 모듈을 호출했을 때, defaultAddFunction 함수가 들어가는 방법이다.
const defaultAddFunction = function (a, b) {
return a + b;
}
export default defaultAddFunction;
/** import default Function, 모듈 전체 가져오기 **/
import * as math from './math.js'
console.log(math.default(20, 11));
// Print: 31
/** import default Function, default 모듈만 가져오기 **/
import { default as defaultAddFunction } from './math.js'
console.log(defaultAddFunction(12, 16));
// Print: 28
🎯 즉 모듈이란 크게 보았을때, javascript 코드를 논리적인 단위로 나누는 방법이다 !
모듈을 도입하게 된다면, 코드의 재사용성을 높이고 , 코드를 분리하여 관라할 수 있으므로 유지 보수가 수월해짐!!또한 모듈은 코드의 네임스페이스를 분리하여 같은 이름의 함수나 변수의 충돌을 방지함.