- Published on
Webpack Dev Server
Webpack Dev Server
- 운영환경에 맞춰서 배포시 잠재적 문제를 미리 확인하거나, ajax 방식의 api 연동은 cors 정책 떄문에 반드시 서버가 필요함
- 프론트엔드 개발환경에서 이러한 개발용 서버를 제공해 주는 것이
webpack-dev-server
설치
$ npm install -D webpack-dev-server
적용
package.json
{
"scripts": {
"start": "webpack-dev-server"
}
}
- webpack-dev-server를 실행하는 build script를 추가
실행
$ npm start
# ℹ 「wds」: Project is running at http://localhost:8080/
# ℹ 「wds」: webpack output is served from /
# ℹ 「wds」: Content not from webpack is served from /:project_path
- localhost 8080 port에서 실행된 webpack dev server를 확인할 수 있음
- 개발 서버를 제공해주는 것 뿐만 아니라, 코드 변화 감지를 통해서 브라우저에서 실시간으로 보여줌
설정
- 웹팩 설정 파일의 devServer 객체에 개발 서버 옵션 설정 가능
webpack.config.js
module.exports = {
devServer: {
contentBase: path.join(__dirnaem, 'dist'),
publicPath: '/',
host: 'dev.domain.com',
overlay: true,
port: 8081,
stats: 'errors-only',
historyApiFallback: true,
},
}
Options
contentBase
정적 파일을 제공할 경로(default = webpack output)publicPath
브라우져를 통해 접근하는 경로(default = /)host
- 개발 환경에서 도메인을 맞추는 환경에서 사용
- ex) 쿠키 기반의 인증 -> 인증 서버와 동일한 도메인으로 개발환경 구성
- 운영체제 호스트 파일에 해당 도메인과 127.0.0.1 연결을 추가한 뒤 host 속성에 도메인 설정해서 사용
- ex) 쿠키 기반의 인증 -> 인증 서버와 동일한 도메인으로 개발환경 구성
- 개발 환경에서 도메인을 맞추는 환경에서 사용
overlay
에러나 경로를 브라우저로 출력할 것인지port
개발 서버 포트 번호 설정(default = 8080)stats
- 메시지 수준 정의
none
,errors-only
,minimal
,normal
,verbose
- 메시지 수준 정의
historyApiFallBack
- 히스토리 API를 사용하는 SPA 개발시 설정
- 404발생 시 index.html로 리다이렉트
--progress
option- 빌드 진행율 출력(빌드 시간 측정 시 유용함)
Referenced