플젝때 다른 팀들이 webpack 사용해 프로젝트를 만들었다는데 그때는 webpack 뭔지도 모르고 걍 그런가부다 하고 넘어갔는데 취업 공고에 대부분 webpack 설정 경험을 한 사람을 많이 뽑드라고?
그럼 나도 해봐야 되지 않겠어????????
CRA(Create-React-App)
으로 프로젝트를 항상 생성했었다.npx create-reat-app Projectfilename
CRA로 생성할 경우 리액트 개발환경을 쉽게 구축해준다.
대략 위의 것들을 알아서 설정해 주므로 편리하지만 사용하지 않는 기능까지 포함하여 모듈의 크기가 크다는 단점이 있다!!!!
규모가 큰 프로젝트에는 파일들의 관계는 복잡하고 무겁기 때문에 브라우저가 이해하고 로드하는데 시간이 소요된다.
두유노? 아돈노
모듈(module)은 재사용 가능한 코드 조각이다.
아주 easy하게 말해서 .js파일이다
초기 자바스크립트는 크기도 작고 기능도 단순해서 모듈에 관한 표준 문법이 필요하지 않았다. 하지만 시간이 흘러 복잡해지고 니즈가 커지면서Node.js
가 모듈 시스템을 지원했다. 모듈 단독으로 사용하기 보다 번들링해서 배포 서버에 올리는 방식을 주로 사용했다.
오브콜스 아돈노 투
JS, CSS, 이미지 등의 파일을 묶어주는 작업을 "번들링"이라고 하고, 작업의 결과물은 "번들"이라 한다. 웹팩 자체는 묶어주는 역할을 하기 때문에 번들러라고 한다.
'-D'
또는 '--save-dev'
옵션을 추가해 준다!entry
-> 시작 파일이다. 여기서 시작해서 사용하는 모듈들을 파악한다.output
-> 만들어지는 최종 파일을 내보내는 옵션이다.path
-> 노드에서 제공하는 path 모드를 활용한다. 파일이나 폴더의 경로 작업을 위한 툴을 제공한다.package.json
파일에서 scripts
에 build에 webpack을 작성하고 npm run build를 터미널에서 실행dist
파일에 main.js
가 생긴다.src
에 있는 index.js
와 index.html
의 두 개의 파일을 하나로 합쳐 만들어 주는 것이 webpack의 역할이다.npm run build
를 하면 dist
파일에 index.html
파일이 있어야된다.html-webpack-plugin
을 설치해서 index.html
파일 생성이 된다.dist
의 index.html 파일을 보면 id가 root인 div가 없다!!!!!!!!!!!!!!webpack-dev-server
은 개발하기 쉽게 서버를 띄어주는 역할은 한다."webpack serve --open"
를 추가하고 npm start를 할 수 있게 설정해준다.
mode 옵션이 없다
여서 모드를 바꿔줘야 된다.development
로 바꿔준다.production
으로 바꿔야 작동이 잘 된다.src
에 style.css를 적용하고 index.js에 style.css import
하면 css가 적용된다.MiniCssExtraPlugin
을 설치하자!!dist
에 index.html에 css가 추가되었고 common.css
가 추가 되었다.const { CleanWebpackPlugin } = require('clean-webpack-plugin')
설정해 준다.JSX
문법을 사용하는데 자바스크립트와는 조금 다르다. 그래서 JSX를 실행하기 위해 Babel 설치가 필요하다.프로젝트를 하면서 추가할 부분이 생기면 정리해서 업데이트를 하겠다!