Webpack이란 static module bundler를 뜻한다.
dependency를 가지고있는 모듈들을 번들링해(한꺼번에 모아서)
고정된 asset으로 만들어준다.
npm init 커맨드 이후,
dev dependencies에 설치하고싶다면
npm i --save webpack --dev
npm i --save webpack-cli --dev
npm i --save webpack-dev-server --save --dev
"start": "webpack-dev-server --config ./webpack.config.js --mode development"
module.exports = {
entry: [
'./src/index'
],
output: {
filename: "bundle.js",
path: __dirname + "/dist"
},
module: {
rules: [
{
test: /\.(js|jsx|ts|tsx)$/, // <-<-.ts , .tsx 확장자 추가
exclude: /node_modules/,
use: ['babel-loader']
}
]
},
resolve: {
extensions: ['*', '.js', '.jsx','.ts','.tsx'] // <-.ts , .tsx 확장자 추가
},
};
Webpack에서 entry란 entry point를 말하며, Webpack이 번들링을 시작하거나/ dependency resolving을 시작하게 되는 지점으로 /src/index.js같은 경로를 넣어줄 수 있다.
주의할점: typescript로 js파일을 tsx로 바꿔주는 경우에는 .js를 생략해주어야한다.
output될 filename은 bundle.js로,
path는 __dirname + "/dist" 로 해주면
Webpack이 번들링을 끝냈을때 어떤 형식으로, 어떤 이름으로 번들링을 완료할 지 정해줄 수 있다.
test는 어떤 파일들이 변형되어야하는지 지정해주고,
use는 어떤 loader가 변형시 쓰일 수 있는지에 대해 지정해줄 수 있다.