TrilonIO / aspnetcore-Vue-starter

*NEW* Asp.net Core & Vue.js (ES6) SPA Starter kit - Vuex, webpack, Web API, Docker, and more! By @TrilonIO
https://www.trilon.io
MIT License
1.22k stars 266 forks source link

Font Awesome 5 webpack bundle size on latest release #126

Closed LH221 closed 5 years ago

LH221 commented 5 years ago

By default the main chunk size for production is:

main.js 1.12 MiB 0 [emitted] [big] main

This seemes to be caused by using the require function to import the icons:

library.add( require('@fortawesome/free-solid-svg-icons').faEnvelope, ... )

still imports the entirety of @fortawesome/free-solid-svg-icons in the chunk it seems.

Just changing the code to the following (as documented by vue-fontawesome) results in a dramatic reduction:

import { faEnvelope, faHeart, faGraduationCap, faHome, faInfo, faList, faSpinner } from '@fortawesome/free-solid-svg-icons' import { faFontAwesome, faMicrosoft, faVuejs } from '@fortawesome/free-brands-svg-icons' library.add(faEnvelope, faHeart, faGraduationCap, faHome, faInfo, faList, faSpinner, faFontAwesome, faMicrosoft, faVuejs)

main.js 81.5 KiB 0 [emitted] main

MarkPieszak commented 5 years ago

Fantastic find I should of fixed this LONG ago :)

Thanks for pointing it out!!

Pushing up an update with this to the repo & Nuget.

MarkPieszak commented 5 years ago

Published on Nuget as 1.0.9 now - thanks again! ✨