모든 API 는 async await 을 사용해 구분한다. MongoDB 연결 유틸리티 만들기 API 호출시 데이터를 저장, 조회, 삭제하려면 DB와 연결해야한다. 몽고디비 커넥션을 반환하는 유틸리티 함수를 만들어서 사용 mongodb-connection.js const {MongoClient}= require('mongodb'); const url = "mongodb+srv://wjdwwidz:@cluster0.5fd3khr.mongodb.net/board" module.exports = function(callback){ return MongoClient.connect(url, callback); } app.js ... let collection; app.listen(3000, async()=>{ c..
익스프레스 설치 npm i express@4.17.3 npm i mongodb@4.13.0 프로젝트 디렉터리 구조 잡기 보통 모든 기능을 제공하는 풀스택 프레임워크는 디렉터리 구조를 강제한다. (ex)Django) 반면 마이크로 프레임워크는 디렉터리 구조를 강제하지 않는다. 익스프레스 또한 강제하는 부분이 거의 없다. 보편적으로 사용되는 3계층구조 아키텍처(컨트롤러, 서비스, 데이터 엑세스) 를 사용하여 개발 (웹 프레임워크에서 사용하는 MVC 패턴을 적용하기에도 좋음) - 컨트롤러 : 뷰에서 넘어온 요청을 받아서 권한 체크, 유효성 검증을 한 후에 서비스 계층으로 넘어감 - 서비스 : 비즈니스 로직 처리 - 데이터 엑세스 : 서비스 계층과 데이터를 주고받음 API들이 많지 않으므로 라우터와 컨트롤러 코..
npm uninstall 명령어로 라이브러리를 제거했지만, package.json를 확인했을 때 dependencies 태그 안에서는 삭제되지 않았다. npm uninstall 명령은 패키지를 제거하지만, package.json파일을 업데이트 하지 않는다고 한다. 이것은 명시적으로 명령을 내려야만 package.json파일을 업데이트 할 수 있다는 뜻.. 1. 수동으로 제거 npm uninstall명령을 실행한 후에, package.json파일을 열고 해당 패키지가 여전히 나열되어 있는지 확인한다. 이후 수동으로 제거한다. 2. --save 또는 -s 옵션과 함께 사용 npm uninstall 패키지이름 --save 3. npm prune 패키지 제거 (uninstall) 실행 이후 npm prune 을..
Yarn yarn 1 : npm 보다 조금 빠른 정도 yarn 2 : yarn-berry 라고 부르는... Yarn berry 시작하기 corepack enable yarn init -2 yarn을 이용한 패키지 관리 예시 터미널에 색을 표시하는 chalk 패키지를 설치해 실행시킨다. main.js 에 chalk를 사용한 간단한 코드를 적어준다. 이때, import 문으로 라이브러리를 불러온다(ESM) import chalk from "chalk" console.log(chalk.blue("안녕하세요!")); package.json { "name": "test-yarn", "packageManager": "yarn@4.1.0", "dependencies": { "chalk": "^5.3.0" } } 기본..
- 의존성패키지 : 해당 프로젝트를 실행하는 데 꼭 필요한 라이브러리 ex) express 라이브러리로 서버를 동작하게 만든 node프로젝트는 express에 의존성이 있다고 할 수 있다. - 패키지 : Node.js에서의 패키지는 package.json으로 정의한 파일 또는 디렉터리를 의미한다. 패키지에는 package.json이 포함된다. 즉 package.json으로 정의한 코드 뭉치가 패키지이다. - 모듈 : npm install명령으로 설치한 패키지들. 이는 node_modules 에 저장된다. 즉 모든 패키지는 모듈이다. require(Common JS)나 import(ESmodule)문으로 읽을 수 있다. - package.json은 수동으로 만들 수도 있으나 npm init 명령어로 자동으..