Webpack 시작하기
개인적인 Webpack 학습 및 공부 내용을 기록하기 위한 포스트입니다.
1. Webpack Start!!
앞선 작업물에서 WebPack 프로젝트를 만들고 NPM 을 통해 환경을 구축하였다.
이제 실제 Webpack을 시작해보도록 한다.
1.1. index.js
import _ from 'lodash';
function component() {
var element = document.createElement('div');
/* lodash is required for the next line to work */
element.innerHTML = _.join(['Hello','webpack'], ' ');
return element;
}
document.body.appendChild(component());
1.2. index.html
<!-- index.html -->
<html>
<head>
<title>Webpack Demo</title>
<!-- <script src="https://unpkg.com/lodash@4.16.6"></script> -->
</head>
<body>
<!-- <script src="src/index.js"></script> -->
<script src="dist/main.js"></script>
</body>
</html>
1.3. package.json
script -> build : “webpack” 추가
{
"name": "webpack-start",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^5.44.0",
"webpack-cli": "^4.7.2"
},
"dependencies": {
"lodash": "^4.17.21"
}
1.4. 빌드 Command
NPM 을 빌드하기 위해선 아래와 같은 command(명령어)를 사용하면 된다.
npm run build
결과
혹여나 build 를 실행하였을때 위와 같은 Warning 이 발생할 수도 있다.
자세한건 더 공부를 하여 확실해지면 기록에 남기도록 할 예정이나 우선은 위 문장에도 나와 있듯이 mode 옵션이 설정되지 않아서 발생하는 Warning 으로 보인다.
development 혹은 production 으로 목적에 맞게 설정해주어야 하는 것이지만 우선 공부하는 입장에서 none 으로 진행 해보도록 한다.
{
"name": "webpack-start",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --mode=none" // none 으로 설정
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^5.44.0",
"webpack-cli": "^4.7.2"
},
"dependencies": {
"lodash": "^4.17.21"
}
}
2. 실행결과
3 번 package.json 내 build 추가 작업으로 인해서 4번 빌드 npm run build 를 입력하였을때 webpack 이 실행될 수 있다.
<!-- index.html -->
<html>
<head>
<title>Webpack Demo</title>
<!-- <script src="https://unpkg.com/lodash@4.16.6"></script> -->
</head>
<body>
<!-- <script src="src/index.js"></script> -->
<script src="dist/main.js"></script>
</body>
</html>
3. 정리
우리가 NPM 을 통해 Build를 실행하고 이때 webpack.config.js 에 script 를 참조하여 webpack 이 실행된다.
index.js 에 작성된 3가지 내용을 담은 스크립트를 웹팩 실행 시 Bundling(Build) 를 실행하게되고
- lodash 라이브러리 import
- component function : div 태그 생성 후 text 추가 후 return
- 렌더링 페이지에 추가
결과 페이지는 dist 폴더 내에 main.js 로 만들어지게 된다.
웹 페이지 호출 시 index.html 에서 script 를 통해 해당 main.js 결과물을 읽어 노출시킨다.