npm init -y
npm i -D webpack webpack-cli webpack-dev-server
-D
는 개발자 dependency
const path = require("path");
module.exports = {
entry: "./src/js/index.js",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "./dist"),
clean: true
}
}
entry
js 파일의 진입점
output
빌드를 했을 때 번들 파일에 대해 지정해줌
devtool
빌드한 파일과 원본 파일을 연결 해줌
mode
development / production
terser-webpack-plugin
최적화 하는 플러그인 모듈
npm i -D html-webpack-plugin
plugins: [
new HTMLWebpackPlugin({
title: "keyboard",
template: "./index.html",
inject: "body",
favicon: "./favicon.ico"
})
]
npm i -D mini-css-extract-plugin css-loader css-minimizer-webpack-plugin
<!DOCTYPE html>
<html lang="ko">
<head>
<title>
<%= htmlWebpackPlugin.options.title %>
</title>
</head>
<body>
</body>
</html>
lodash 문법을 사용해서 config에 있는 title을 가져다가 html에서 title로 만들어주었다.
"scripts": {
"build": "webpack --mode=production"
},
devServer: {
host: "localhost",
port: 8000,
open: true,
watchFiles: "index.html",
},
devServer를 설정해주고
npx webpack-dev-server
를 실행해주면 localhost:8000
으로 포트가 열린다.
해당 명령어도 script로 설정해준다.
npm i -D eslint
npm install --save-dev --save-exact prettier
npm i
했을 때 자동으로 업데이트 해주는 '^' 를 사용하지 않겠다.npm i -D eslint-config-prettier eslint-plugin-prettier
npx eslint --init
ESLint는 JavaScript 코드에서 발견 된 문제 패턴을 식별하기위한 정적 코드 분석 도구입니다. ESLint의 규칙은 구성 가능하며 사용자 정의 된 규칙을 정의하고로드 할 수 있습니다. ESLint는 코드 품질과 코딩 스타일 문제를 모두 다룹니다.
코드 포멧터(Code Formatter)란 개발자가 작성한 코드를 정해진 코딩 스타일을 따르도록 변환해주는 도구이다.
/node_modules
/dist
webpack.config.js
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
Delete ␍
eslintprettier/prettier
이런 에러가 나서 해결하였다.
https://velog.io/@realsong/VS-Delete-prettierprettier-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95
설정이 빡세다.