Webpack有哪些常見的Plugin?他們是解決什麼問題的webpack
定義: 音譯過來就是插件, 在webpack中, 插件目的在於解決 loader 沒法實現的其餘事
webpack 插件是一個具備 apply 屬性的 JavaScript 對象。apply 屬性會被 webpack compiler 調用,而且 compiler 對象可在整個編譯生命週期訪問web
代碼理解:app
const pluginName = 'ConsoleLogOnBuildWebpackPlugin'; class ConsoleLogOnBuildWebpackPlugin { // compiler 對象是 webpack 的編譯器對象 apply(compiler) { // hook中的tap函數的第一個參數即是插件的名稱 compiler.hooks.run.tap(pluginName, compilation => { // 咱們的webpack配置應用了插件後便會執行該函數體 console.log("webpack 構建過程開始!"); }); } }
用法:異步
const webpack = require('webpack'); // 上方定義的插件 const ConsoleLogOnBuildWebpackPlugin = require('ConsoleLogOnBuildWebpackPlugin'); webpack({ // ... plugins: [ new ConsoleLogOnBuildWebpackPlugin({/* some plugin options */}) ] // ... });
上面示例中有提到hooks,在plugin有哪些hooks呢?咱們也簡單列舉一下函數
如上篇loader所講,這裏沒有任何意義,只是想讓大家加深下感受,瞭解下本身項目中到底用到了哪些plugin, 下面放一張來自官網的圖學習
簡單理了一下plugin的特性再回過頭去看一看示例,應該就會更清淅了ui
JS每日一題能夠當作是一個語音答題社區
天天利用碎片時間採用60秒內的語音形式來完成當天的考題
羣主在第二天0點推送當天的參考答案spa
點擊加入答題prototype