인프런에서 캡틴 판교님의 '프론트엔드 개발자를 위한 웹팩' 강의를 듣는 중이어요
node -v ; 버전 확인
npm -v
npm init ; 초기화 명령어. package.json 생성
npm init -y
npm install jquery (--save-prod 생략되어 있음); 라이브러리 설치. node_modules 생성됨. jquery 설치.
package.json에 해당 프로젝트에 사용되는 라이브러리의 목록과 각각의 버전을 (의존성?) 정리해둬서 한 눈에 알아볼수 있음. 편하게 관리 가능.
해당 라이브러리 사이트 방문 cdn 따오기 등등 구구절절 필요없이 터미널에서 install; 설치 간편!
npm i gulp; 자동화
npm uninstall gulp
npm i gulp --global
npm install vue --save-dev = npm i vue -D
npm i jquery; dependencies (배포용 라이브러리)에 설치됨. 어플리케이션의 로직을 구현하는데 연관이 있는 부분. 화면의 로직과 직접적 연관. jquery angular vue react 등
npm i vue--save-dev = npm i vue -D ; devDependencies (개발용 라이브러리) 에 설치됨. 개발할때 도움을 주는 개발용 보조 라이브러리. webpack(빌드 도구), js-compression, sass, eslint(코드 문법 검사)등
WebPack
최신 FE Framework에서 가장 많이 사용되는 Module Bundler.
Module Bundler; 웹 애플리케이션을 구성하는 자원 HTML CSS JS Images등을 모두 각각의 모듈로 보고 이를 조합, 하나의 결과물로 만드는 도구
Module; 프로그래밍 관점에서 특정 기능을 갖는 작은 코드 단위
등장 배경
웹팩으로 해결하려는 문제
속성
entry; (build = compile = bundling = 변환)을 위한 최초 진입점. js 파일 경로.
module; 웹팩으로 변환 후 결과물의 파일 경로.정보.
loader; 웹팩이 웹 애플리케이션 해석할때 js 파일이 아닌 다른 HTML CSS images 폰트 등을 변환할수 있게 도와주는 속성.
파일을 해석하고 변환하는 과정에 관여. 오른쪽 -> 왼쪽 순으로 적용 됨.
plugins; 웹팩의 기본적인 동작에 추가적인 기능을 제공. 결과물의 형태를 바꾸는 역할.
output;
전에 해둔 메모
npn run build
"build":"webpack --mode=none"
dist 폴더; webpack으로 변환한 결과 파일이 있음
package.json파일 "scripts"에 "build":webpack" 추가해줘야 npm run build 먹혀서 빌드할수 있음
Webpack Dev Server