728x90
General output time took 2 mins, 31.04 secs
SMP ⏱ Loaders
cache-loader, and
thread-loader, and
babel-loader took 1 min, 24.32 secs
module count = 391
mini-css-extract-plugin, and
css-loader, and
postcss-loader, and
sass-loader took 1 min, 18.69 secs
module count = 95
css-loader, and
postcss-loader, and
sass-loader took 1 min, 18.66 secs
module count = 95
vuetify-loader, and
cache-loader, and
vue-loader, and
eslint-loader took 54.64 secs
module count = 60
modules with no loaders took 53.64 secs
module count = 382
cache-loader, and
thread-loader, and
babel-loader, and
eslint-loader took 45.88 secs
module count = 12
cache-loader, and
thread-loader, and
babel-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 42.69 secs
module count = 32
cache-loader, and
vue-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 23.97 secs
module count = 28
mini-css-extract-plugin, and
css-loader, and
vue-loader, and
postcss-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 22.54 secs
module count = 20
css-loader, and
vue-loader, and
postcss-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 22.39 secs
module count = 20
mini-css-extract-plugin, and
css-loader, and
postcss-loader took 12.76 secs
module count = 5
css-loader, and
postcss-loader took 9.86 secs
module count = 5
url-loader took 0.541 secs
module count = 4
html-webpack-plugin took 0.045 secs
module count = 1
vue-loader, and
cache-loader, and
thread-loader, and
babel-loader, and
vuetify-loader, and
cache-loader, and
vue-loader, and
eslint-loader, and
eslint-loader took 0.033 secs
module count = 32
vue-loader, and
mini-css-extract-plugin, and
css-loader, and
postcss-loader, and
vuetify-loader, and
cache-loader, and
vue-loader, and
eslint-loader took 0.02 secs
module count = 20
빌드 시간 2분 31초,
아주 작은 수정에도 전체를 빌드하도록 되어있는데, 상당히 오버헤드가 큰 작업이다.
- code split을 통해서 최적화 하는 방법
- webpack에서 추천하는 build performance recommendation을 참고하는 방법
- 캐시를 사용하는 방법 (https://webpack.js.org/guides/build-performance/)
이중 가장 간단하게 적용할 수 있는건 3번이다. 아래 패키지를 적용해주면 두번째 빌드부턴 매우 빨라진다.
내 경우 70%이상 빌드 성능 개선이 있었다. 추가로 1~2번도 적용하면 좋을듯하다.
https://github.com/mzgoddard/hard-source-webpack-plugin
vue.config를 쓰는 중이라면 아래 코드를 추가해주면된다.
const HardSourceWebpackPlugin = require("hard-source-webpack-plugin");
...
chainWebpack: (config) => {
...
config.plugin("HardSourceWebpackPlugin").use(HardSourceWebpackPlugin);
...
}
위 코드 적용 후 내 경우 아래와 같이 성능 개선이 있었다.
SMP ⏱
General output time took 37.98 secs
SMP ⏱ Loaders
cache-loader, and
thread-loader, and
babel-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 7.74 secs
module count = 1
vuetify-loader, and
cache-loader, and
vue-loader, and
eslint-loader took 3.89 secs
module count = 2
mini-css-extract-plugin, and
css-loader, and
vue-loader, and
postcss-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 0.528 secs
module count = 1
cache-loader, and
vue-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 0.325 secs
module count = 1
css-loader, and
vue-loader, and
postcss-loader, and
vuetify-loader, and
cache-loader, and
vue-loader took 0.304 secs
module count = 1
modules with no loaders took 0.011 secs
module count = 1
vue-loader, and
mini-css-extract-plugin, and
css-loader, and
postcss-loader, and
vuetify-loader, and
cache-loader, and
vue-loader, and
eslint-loader took 0.002 secs
module count = 1
728x90
'IT > Vue' 카테고리의 다른 글
vee-validate 최적화 (0) | 2022.04.27 |
---|---|
could not freeze hash of undefined (0) | 2022.02.15 |
vue 중첩데이터 감시, vue watch nested data is not working (0) | 2022.01.13 |
eslint Errors and Warning 옵션. (0) | 2021.04.29 |
eslint cheatsheet (0) | 2021.04.02 |