開發中明顯能夠感受到加載一個HTML須要依賴不少的JS文件依賴,好比到必定階段的HTML頁面,尾部就是這樣的:javascript
<script src="/public/vendors/jquery/js/jquery.min.js"></script> <script src="/public/vendors/popper.js/js/popper.min.js"></script> <script src="/public/vendors/bootstrap/js/bootstrap.min.js"></script> <script src="/public/vendors/pace-progress/js/pace.min.js"></script> <script src="/public/vendors/perfect-scrollbar/js/perfect-scrollbar.min.js"></script> <script src="/public/vendors/@coreui/coreui-pro/js/coreui.min.js"></script> <script src="/public/vendors/moment/js/moment.min.js"></script> <script src="/public/vendors/select2/js/select2.min.js"></script> <script src="/public/vendors/bootstrap-daterangepicker/js/daterangepicker.js"></script> <script src="/public/js/src/jquery.twbsPagination.js"></script> <script src="/public/js/src/HZRecorder.js"></script>
隨着所需功能愈來愈多,咱們就需引入更多的JS依賴和CSS依賴,有時還會面臨着一個文件不夠須要拆分紅幾個文件的狀況。所以可能會遇到如下幾點問題:前端
而前端要使用模塊化的緣由或者要解決的問題就是:java
常見的規範有 CMD、AMD、CommonJS 規範node
ES6 助推了前端模塊化,import語法會被JavaScript引擎靜態分析,這是一個很重要的功能,咱們一般使用CommonJS時,代碼都是在運行時加載的,而ES6是在編譯時就引入模塊代碼,固然咱們如今的瀏覽器尚未這麼強大的功能,須要藉助各種的編譯工具(webpack)才能正確的姿式來使用ES6的模塊化的功能。也正由於可以編譯時就引入模塊代碼,因此使得靜態分析就可以實現了。jquery
ES6模塊化的優勢有webpack