const path = require('path'); // path 라이브러리를 가져온다
const webpack = require('webpack');
module.exports = {
mode: 'development', // 개발용이 dev, 실서비스는 production으로 변경
devtool: 'eval', // 빠르게
resolve: { // entry app의 변환할 파일명
extensions: ['.jsx', '.js'],
},
entry: { // 코드의 시작지점 (입력)
app: './src/app.js' // 여러개면 배열로 넣으면 됨
},
module: { // 웹팩이 사용할 플러그인 지정
rules: [{ // 여러개의 규칙들 (배열)
test: /\.jsx?/, // 규칙 적용할 대상 확장자 (정규 표현식)
// jsx? => js, jsx
exclude: /node_modules/, // 제외
loader: 'babel-loader',
options: {
presets: [ // plugin 설정들의 모음
['@babel/preset-env', {
targets: { // 예전 브라우저 지원
browsers: ['> 1% in KR'],
}, // 한국에서 1% 이상 점유율 가진 브라우저
debug: true, // 개발용
}],
'@babel/preset-react'],
plugins: [],
},
}],
},
plugins: [
new webpack.LoaderOptionsPlugin({debug:true}),
],
output: { // 컴파일한 코드를 내놓을 위치 (출력)
path: path.join(__dirname, 'dist'), // 파일위치할 디렉토리를 절대 경로로 지정
filename: 'app.js' // 저장할 파일명 지정
},
}