在前文中,已經(jīng)成功使用Webpack打包并生成了一個(gè)目標(biāo).js文件。但是,在終端中進(jìn)行復(fù)雜的操作,顯然是不太方便且容易出錯(cuò)的。接下來(lái),讓我們學(xué)習(xí)Webpack的另一種更常見(jiàn)的使用方法,即通過(guò)配置文件來(lái)使用Webpack。這也是webpack的重點(diǎn)使用方式。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了瑤海免費(fèi)建站歡迎大家使用!
首先,提醒注意的是,我們要學(xué)習(xí)的這個(gè)配置文件其實(shí)也是一個(gè)簡(jiǎn)單的JavaScript模塊文件,我們可以把所有的與打包相關(guān)的信息放在里面。通過(guò)一個(gè)js文件來(lái)實(shí)現(xiàn)配置功能的一個(gè)重要好處是,你可以在其中加入靈活多樣的注釋——在.json配置文件中是非常不方便加入注釋內(nèi)容的!
創(chuàng)建配置文件
繼續(xù)前文例子。在當(dāng)前練習(xí)文件夾的根目錄下新建一個(gè)名為webpack.config.js的文件。我們?cè)谄渲袑?xiě)入如下所示的簡(jiǎn)單配置代碼,目前的配置主要涉及到的內(nèi)容是入口文件路徑和打包后文件的存放路徑。
(1)編寫(xiě)webpack.config.js文件,如下圖所示:
注:“__dirname”是node.js中的一個(gè)全局變量,它指向當(dāng)前執(zhí)行腳本所在的目錄。另外,命令行下此變量不可使用!
另外,path.resolve() 方法會(huì)把一個(gè)路徑或路徑片段的序列解析為一個(gè)絕對(duì)路徑。有關(guān)此方法的詳細(xì)解釋?zhuān)?qǐng)參考文后引用(1)。
(2)刪除上一篇中編譯生成的結(jié)果文件,即位于public路徑下的bundle.js,因?yàn)榻酉聛?lái)我們要編譯生成新的文件。
接下來(lái),運(yùn)行命令行如下:
npx webpack
或者
npx webpack --config webpack.config.js
也就是說(shuō),在省略的情況下,webpack會(huì)自動(dòng)在根目錄下查找配置文件webpack.config.js。運(yùn)行結(jié)果如下圖所示:
運(yùn)行index.htm文件(我使用的是Webstorm),結(jié)果如下圖所示:
如何?再次獲得成功!但是,×××長(zhǎng)征才開(kāi)始了第一步,“老鼠拉木掀——大頭在后面”呢.......
其實(shí),webpack還遠(yuǎn)比上面復(fù)雜得多,例如其核心概念主要包括:
- Entry
- Output
- Loaders
- Plugins
- Mode
- Browser Compatibility
這里列舉的入口,輸出,加載器,插件,模式及瀏覽器兼容性等各種選項(xiàng)均可以通過(guò)本文介紹的配置文件webpack.config.js中對(duì)應(yīng)的配置選項(xiàng)來(lái)實(shí)現(xiàn),這要比換行再換行再換行的webpack的命令行使用方式要方便得多了。
面包會(huì)有的,牛奶也會(huì)有的。讓我們慢慢來(lái)吧。GO ON......
(1)https://blog.csdn.net/kikyou_csdn/article/details/83150538
(2)https://webpack.js.org/guides/getting-started/