티스토리 뷰

728x90
반응형

 

이렇게 생긴 화면이 여러분들이 많이 알고 계신 webpack bundle analyzer 입니다

 

웹팩을 통해 번들링한 결과를 시각적으로 보여줘서

 

어떤파일이 용량이 큰지

 

중복되는 패키지는 없는지 체크하여 번들결과물을 최적화하는데 도움을 줍니다

 

 

그런데 CRA(create react app)로 만든앱은 webpack 관련 파일이 내부적으로 react-script로 래핑되어있기 때문에

 

webpack.config.js 파일같은것을 사용할수 없습니다

 

 

이러한 상황에서 webpack-bundle-analyzer를 사용할수 있는 방법을 안내해드려요

 

 

https://www.npmjs.com/package/webpack-bundle-analyzer

 

webpack-bundle-analyzer

Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap. Latest version: 4.5.0, last published: 9 months ago. Start using webpack-bundle-analyzer in your project by running `npm i webpack-bundle-analyzer`. T

www.npmjs.com

npm i webpack-bundle-analyzer

 

 

먼저 패키지를 설치합니다

 

그리고 아래의 스크립트 파일을 프로젝트 내부에 생성합니다

 

// analyze.js
process.env.NODE_ENV = 'production';

const webpack = require('webpack');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const webpackConfigProd = require('react-scripts/config/webpack.config')('production');

webpackConfigProd.plugins.push(new BundleAnalyzerPlugin());
webpackConfigProd.resolve.alias['react-dom'] = '@hot-loader/react-dom';

webpack(webpackConfigProd, (err, stats) => {
  if (err || stats.hasErrors()) {
    console.log(err);
  }
});

 

 

그리고 이 파일을 실행시키면 됩니다

 

node analyze.js

 

 

 

 

 

 

 

 

 

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함