腳手架vue-cli工程webpack的作用和特點
Vue項目開發(fā)過程中,會因為很多不同的實際運用需求不斷地對webpack配置進行修改,在此之前,我們需要對webpack有一個基本的認識,了解它到底能為我們做些什么
webpack是一個模塊打包的工具,它的作用是把互相依賴的模塊處理成靜態(tài)資源,如下圖所示。.
webpack的作用:
●把依賴樹按需分割;
●把初始加載時間控制在較低的水平;
●每個靜態(tài)資源都應該成為一個模塊;
●能把第三方庫集成到項目里成為一個模塊;
●能定制模塊打包器的每個部分;
●能適用于大型項目。
webpack的特點:
● 代碼分割
在webpack的依賴樹里有兩種類型的依賴:同步依賴和異步依賴。異步依賴會成為一個代碼分割點,并且組成一個新的代碼塊。在代碼塊組成的樹被優(yōu)化之后,每個代碼塊都會保存在一個單獨的文件里。
●加載器
webpack原生是只能處理JavaScript的,而加載器的作用是把其他的代碼轉換成JavaScript代碼,這樣一來所有種類的代碼都能組成一個模塊,也就是說,我們可以在代碼內通過import將webpack打包的資源以模塊的方式引入到程序中。
以下是Vue項目中常用到的加載器(它們都是以NPM庫形式提供的):
vue-loader——用于加載與編譯*.vue文件;
vue-style-loader——用于加載*.vue文件中的樣式;
style-loader——用于將樣式直接插入到頁面的<style>內;
css-loader——用于加載*.css樣式表文件;
less-loader——用于編譯與加載*.less文件(需要依賴于less庫);
babel-loader——用于將ES6編譯成為瀏覽器兼容的ES5;
file-loader——用于直接加載文件;
url-loader——用于加載URL指定的文件,多用于字體與圖片的加載;
json-loader——用于加載*.json文件為JS實例。
● 智能解析
webpack的智能解析器能處理幾乎所有的第三方庫,它甚至允許依賴里出現(xiàn)這樣的表達式:
require("./components/"+ name + ".vue")
這一點恰恰是browserify不能做到的。
它能處理大多數(shù)的模塊系統(tǒng),比如說CommonJS和AMD。
●插件系統(tǒng)
webpack有豐富的插件系統(tǒng),大多數(shù)內部的功能都是基于這個插件系統(tǒng)的。這也使得我們可以定制webpack,把它打造成能滿足我們需求的工具,并且把自己做的插件開源出去。
總結
以上所述是小編給大家介紹的vue-cli工程webpack的作用和特點,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
elementUI Vue 單個按鈕顯示和隱藏的變換功能(兩種方法)
小編最近遇到這樣的需求,當點擊一個按鈕可以變換里面字的內容,剛開始還真是一頭霧水,不知所措。仔細想想屢屢思緒,很容易的解決了。接下來通過本文給大家介紹elementUI Vue 單個按鈕顯示和隱藏的變換功能,需要的朋友可以參考下2018-09-09vue項目中字符串換行顯示方式(返回的數(shù)據(jù)包含‘\r\n’字符)
這篇文章主要介紹了vue項目中字符串換行顯示方式(返回的數(shù)據(jù)包含‘\r\n’字符),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04Vue?ECharts實現(xiàn)機艙座位選擇展示功能代碼詳解
這篇文章主要介紹了Vue?ECharts實現(xiàn)機艙座位選擇展示,本文給大家分享一段簡短的代碼通過效果圖展示給大家介紹的非常明白,需要的朋友可以參考下2022-05-05