Vue.js ๋ก ๊ฐ๋ฐ ํ ์ด์ ์ค์ธ ์ฌ์ดํธ์ ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค.
Vue.js ๋ ์ฒ์์ ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ํ๋ฒ์ ๋ฐ์์ค๋๊ฒ ๋ฌธ์ ์๋ค. ๊ทธ ๋ชจ๋ ๊ฒ์ด ์์ถ๋ ํ์ผ์ธ
chunk-vendors.js ํ์ผ์ ํฌ๊ธฐ๊ฐ ์์๋๋ ๋ฌธ์ ๊ฐ ์์ง๋ง, ์ด๋์ 12.3MB ๊น์ง ๋ถ์ด๋ ํ์
์ธํฐ๋ท ์๋๊ฐ ๋๋ฆฐ ๋๋ผ์์๋ ์ฒ์์ ํ๋ฉด์ ๋ถ๋ฌ์ค๋๋ฐ ๋๋ฌด ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค๊ณ ํ๋ค.
์ฒ์์๋ lazy-loading
์ผ๋ก ์ปดํฌ๋ํธ ๋จ์๋ก ๋ถ๋ฆฌ๋ฅผ ์์ผ๋ณด์์ง๋ง,
์ฐจ์ด๊ฐ ๋ฏธ๋ฏธ ํ๋ค.
์ด ๋ฐ์๋ ์ด๋ฏธ์ง ์ฌ์ด์ฆ ์ค์ด๊ธฐ ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ง๋ง
๊ตฌ๊ธ๋ง์ ํตํด chunk-vendors.js ์ ์ผ์ ํ ํฌ๊ธฐ๋ก ์ชผ๊ฐ๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค.
// vue.config.js ํ์ผ
configureWebpack:{
mode: 'development',
devtool: false,
optimization: {
splitChunks: {
chunks: 'all',
minSize: 15000,
maxSize: 250000,
maxAsyncRequests: 30,
maxInitialRequests: 30,
enforceSizeThreshold: 50000,
},
},
}
์ด ์ฝ๋๋ฅผ ์ถ๊ฐ ํ npm run serve
๋ก ์ฌ์์ ํ๋ฉด
chunk-vendors.js ๊ฐ ํ๋์ ํฐ ํ์ผ์์ ๋ง์ ์์ ํ์ผ๋ก ์ชผ๊ฐ์ง ๊ฒ์ ๋ณผ ์ ์๋ค.
์ค์ ๋ก ๋ก๋ฉ ์๋ ๊ฐ์ ์ ๋์์ด ๋๋์ง ํ
์คํธ๋ฅผ ํด์ผ๊ฒ ๋ค.
์ฐธ์กฐ
Slash Your Load Times: Shrink the Chunk-Vendors.js Size in Vue3
[webpack4] splitChunksPlugin ์ต์ ํํค์น๊ธฐ
'Vue.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Vue.js] Chart.js ์ฐจํธ ๋ฐ์ดํฐ 0 ์ธ ๊ฐ ์จ๊ธฐ๊ธฐ (0) | 2022.11.08 |
---|---|
[Vue.js] Chart.js labels hover ์ ๋ฐ์ดํฐ(tooltip) ๋ณด์ด๊ธฐ (1) | 2022.11.04 |
[Vue.js] Char.js ๋ผ๋ฒจ ๊ฐ(value) ํ์ํ๊ธฐ (1) | 2022.10.28 |
[Vue.js] Chart.js ๋์ ๋ง๋ ๊ทธ๋ํ ์ดํฉ ํ์ํ๊ธฐ (Stack Bar, Total) (1) | 2022.10.25 |
[Vue.js] Hot Reload ๋์ ์ํ ๋ (0) | 2022.10.18 |
๋๊ธ