개발 환경에서 webpack-dev-server를 사용할 때 아래와 같이 두 번 실행되는 경우가 있다.
이 경우 코드도 모두 두 번씩 실행된다.
이유는 빌드 전의 index.html에서 <script>태그로 js 파일을 불러오고 있기 때문이다.
어차피 빌드를 하면 번들링된 js파일을 index.html 내부에 <script>태그로 불러온다.
만약 빌드 전의 index.html에서 <script>태그로 js파일을 불러오고 있다면,
HtmlWebpackPlugin이 모든 자바스크립트를 <body>태그 아래로 주입한다.
만약 <script>태그가 꼭 필요하다면, 아래와 같이 HtmlWebpakcPlugin 설정의 inject 속성을 변경하여 해결할 수도 있다.
// webpack.config.js
...
plugins: [
new HtmlWebpackPlugin({
template: "./src/index.html",
inject: false
})
],
...
참고자료
https://stackoverflow.com/questions/37081559/all-my-code-runs-twice-when-compiled-by-webpack
'IT > Webpack' 카테고리의 다른 글
[Webpack] build할 때 LICENSE.txt 생성되지 않게 하기 (0) | 2022.06.16 |
---|