Npm install --save-dev webapck webpack-dev-server babel-core babel-loader babel-preset-env
"name": "webpack-devserver",
"build": "webpack --mode development",
"start": "webpack-dev-server --inline --hot --content-base --mode development",
"test": "echo \"Error: no test specified\" && exit 1"
"babel-loader": "^7.1.5",
"babel-preset-env": "^1.7.0",
"style-loader": "^0.21.0",
"webpack-dev-server": "^3.1.4"
const path = require('path')
const webpack = require('webpack');
path:path.resolve(__dirname , 'build') ,
test: /\.js$/, //js로 끝나는 확장자만 로더를 적용할 것
exclude: /node_modules/, //node_modules 폴더는 제외
// test: /\.(png|svg|jpe?g|gif)$/,
contentBase: path.join(__dirname, "/"),
new webpack.HotModuleReplacementPlugin()
처음에 핫로드가 적용안되길래 왜 안되나싶었는데
배포시 webpack에 플러그인들 (로더들) 안에있는 url업데이트를 해야한다.
핫로드 될때는 이전 파일과 비교를 하기때문에 webpack에서 내부적으로 더미 파일명을 만들기때문인거같다. (예상임)
리액트와 바벨 리엑트 프리셋 그리고 익스프레스를 설치한다.
npm i express react react-dom babel-preset-react react-hot-loader
"presets": ["env", "react"]