webpack有四個核心概念 entry(入口文件), output(輸出文件), loaders(加載器), plugins(插件組).css
-1· entry(入口文件)html
webpack爲咱們的應用依賴建立了一張圖表。而entry就是這張圖表的起點。entry會告訴webpack該從哪裏開始以及根據依賴圖表來打包咱們所需的文件。你能夠認爲entry就是應用的根憑證或者是啓動文件。webpack
-2· output(輸出文件)web
當你將你全部的資源打包到一塊兒的時候,你還須要告訴webpack如何打包你的應用。output屬性就是用於指導webpack如何處理代碼塊的。output還包含一些子屬性用於配置更詳細的打包規則,例如打包的命名規則以及打包後的包的發佈目錄。除此以外,還有其餘的做用,須要咱們繼續探索。瀏覽器
-3· loaders(加載器)less
加載器的目的是讓咱們項目中全部的資源都能與webpack(不是和瀏覽器)產生關聯。固然這並不意味着全部的東西都會被打包到一塊兒。由於webpack只能理解Javascript,因此它會把每一個文件(.css, .html, .scss, .jpg, etc.) 都看成一個模塊來對待,而後把他們添加到依賴圖表中。spa
loaders能夠定義所需模塊將以什麼方式轉義並最終被添加到依賴圖表中。例如less文件、jsx語法文件插件
-4· plugins(插件組)htm
loaders只會針對預編譯的基礎文件,在被打包「編譯」或「塊」等模塊中plugins一般用在(但不限於)一些執行動做或自定義功能。piugins的功能與定製性很強,大多數插件可自定義經過選項。出於不一樣的目的你可能須要屢次使用同一個plugin,因此你每次使用時須要用 new 來建立一個 plugin 實例。 ip