上一篇我們在介紹webpack是什麼東西(沒看過趕快去看XD),接下來我們來談談細節的配置,我們已經可以做基本的輸出了,上篇教學説我們會分兩個資料夾src跟dist,src是指我們的開發檔案,輸出到dist是編譯過後的檔案,但是要怎麼指定src跟dist輸出的路徑呢?
首先你要了解webpack是建立在nodejs上面的工具,webpack只負責編譯,搬檔案就要靠nodejs的api來幫忙啦!
nodejs 要搬移任何的檔案都要靠一個叫path的api來做(文件在此)所以我們來看,首先要在webpack.config.js 用 require 的方式來引入path的模組。
var path = require(‘path’);
然後在module.exports裡一開始加入 context這個屬性,裡面使用path.resolve 這個方法來指定一開始的路徑
context: path.resolve(__dirname, ‘src’),
__dirname在nodejs裡面代表的一個特殊的變數,只的是當前執行文件所在目錄的完整目錄位置,所以我們要設定path.resolve第一個參數__dirname,然後指定第二個參數,從src資料夾開始找檔案。
這是目前的webpack.config.js設定
(此區塊有程式碼無法顯示,文末有連結可回到原文查看!)
好啦!實際跑跑看,開終端機跑
> npm run build
記得你的package.json 的script ,如果不知道請參考上一篇文章
但是今天你想要輸出不是在dist資料夾內呢?
有些時候我們跟後端配合專案會需要把檔案自動給放到其他資料夾內,而不是dist,那要怎麼做?
這時候我們可以在 output 設定裡面重新指定路徑,像這樣
(此區塊有程式碼無法顯示,文末有連結可回到原文查看!)
在output裡面可以用一個path的屬性,在使用 path.resolve
path: path.resolve(__dirname, ‘App’),
重新執行
> npm run build
這樣你就成功的可以指定打包出來的路徑,想讓檔案去哪裡就哪裡!
最後
webpack還有很多好用且方便的功能,日後我會一一介紹到,幫助大家更了解webpack。
好文轉自作者Mike–Webpack教學(二):檔案你要去哪裡?
對該專題有興趣的話下集:Webpack教學 (三):永不停止的Watch
原文作者有開設一個youtube的頻道,每個月不定時週六或日晚上直播跟技術或是經驗相關的分享,有興趣的朋友歡迎追蹤訂閱+小鈴鐺。
希望能夠藉由這篇文章幫助到你。如果想要對JS本身有更多的瞭解,Udemy這裡開課囉!老師從基礎手把手的帶你,教你主流寫法提升 JS 開發能力!
如果你的入門還在單打獨鬥,歡迎來到快樂學程式找到志同道合的夥伴,你的自學之路不孤單。