블로그의 이전 내용에는 서버가 동작할 수 있도록 하는 최소한의 초기세팅에 대한 주제로 commonJS, ESmodule에 대해서 다뤘다. 이전 블로그 내용 보러가기 🔗[JS 초기셋팅] commonJS vs ESmodule 그리고 확장하여 각 module type별 express와 typeorm의 연결에 대한 문제 해결 그리고 자세히 다루지는 않았지만 NodeJS는 commonJS를 기본 타입으로 활용하는 런타임환경으로 ES6로 넘어오면서 추가되는 부분에 대해 잘 호환 될 수 있도록 babel이라는 패키지에 대해서도 남겨놓았다.(이전 블로그 내용 하단부에 babel링크로 들어가서 확인해보자!) 일단 bable 패키지를 필요한 정도로만 설치할 수 있도록 하자
시작하기에 앞서 commonJS와 ESmodule이 무엇인지 부터 개념을 알고 가야할 것 같다. 1. CommonJS 방식: CommonJS는 Node.js의 기본 모듈 시스템입니다. type 필드에 "commonjs"로 설정되면, 해당 프로젝트는 CommonJS 방식으로 모듈을 로드합니다. CommonJS 방식에서는 require 함수를 사용하여 모듈을 가져옵니다. 모듈은 동기적으로 로드되며, module.exports를 사용하여 모듈의 내보낼 값을 정의합니다. CommonJS는 동적 로딩 및 트리 쉐이킹과 같은 최적화 기능을 제공하지 않습니다. 2. ES Modules 방식: ES Modules는 ECMAScript 2015(ES6)에서 도입된 표준 모듈 시스템입니다. type 필드에 "module"로 설정되면, 해당 프로젝트는 ES Modules 방식으로 모듈을 로드합니다. **ES Modules 방식에서는 import 문을 사용하여 모듈을 가져옵니다
s3 파일의 업로드 경우는 대체로 미들웨어로 사용되는 경우가 많습니다. 이번 이미지를 업로드를 하는데 있어서 필요한 조건들은 아래와 같습니다. 하지만 여기서 참고해야할 것은 이 미들웨어의 경우는 file이라는 하나의 파일만 업로드가 가능하다는 점입니다. 여러개의 파일을 업로드해야하는 경우는 코드내용이 달라질 수 있으니 참고해야합니다! 여러개의 파일을 업로드해야하는 경우는 아래에 추가로 작성해 보았다. 조건 AWS 모듈과 multer, multer-s3, uuid4 모듈을 import 합니다. AWS 모듈을 사용하기 위해, AWS 계정 정보를 설정합니다. s3 객체를 생성하여, S3와 연결합니다. multer-s3 모듈을 사용하여, AWS S3에 파일을 업로드하기 위한 설정을 합니다. multer 모듈을 사용하여, 파일 업로드 객체를 생성합니다. upload 객체를 export 하여, 파일 업로드를 수행할 수 있도록 합니다. `deleteImage 함수를