【轉】webpack使用方法(三):自定義webpack配置
原文:https://blog.csdn.net/simpleasong/article/details/123024224
前言
實際上,webpack-cli給我們提供了豐富的終端命令列指令,可以通過webpack --help來檢視。同樣,需要在前面加上npx
npx webpack --help
1
一、設定入口檔案
-
進入上一節的setup目錄,手動刪除dist資料夾。
-
輸入指令
npx webpack --entry ./src/index.js --mode production
–entry表示設定後面路徑的檔案為入口檔案,–mode指定環境,production為生產環境。
執行之後發現setup目錄下同樣生成了dist資料夾及其子檔案main.js。 -
到這裡就會發現,使用這種命令列來打包檔案,真的很不方便,也不直觀,而且還不能儲存我們的一些配置。因此,webpack給我們提供了通過配置檔案去自定義配置引數的能力。
二、通過配置檔案來配置引數
-
在setup目錄下新建webpack.config.js檔案
這個檔名不能隨便取,因為這是webpack自動讀取的 -
這個檔案是在Node.js裡面執行的,因此,定義模組的時候要使用Node.js的CommonJs模組,所以使用module.exports來定義。
-
首先,設定入口entry,還是以index.js為入口檔案。
module.exports = { entry:'./src/index.js', }
-
設定出口output,filename屬性指定輸出檔案的檔名,path屬性指定輸出路徑。
module.exports = { entry:'./src/index.js', output:{ filename:'bundle.js', path:'./dist' } }
-
執行npx webpack命令
npx webpack
發現報錯了,提示輸出路徑“./dist”不是一個絕對路徑
-
使用Node.js的方法將輸出路徑設定為絕對路徑,第一個引數__dirname表示當前webpack.config.js所在的物理路徑,第二個引數表示基於第一個引數的路徑,將檔案解析到這個路徑下,這樣就指定了一個絕對路徑。
const path = require('path'); module.exports = { entry:'./src/index.js', output:{ filename:'bundle.js', path:path.resolve(__dirname, './dist') }, }
-
設定mode的值,先給一個“none”,不然執行webpack命令會報警告。
const path = require('path'); module.exports = { entry:'./src/index.js', output:{ filename:'bundle.js', path:path.resolve(__dirname, './dist') }, mode:'none' }
-
接下來執行npx webpack就可以了
npx webpack
執行成功後可以看到在dist資料夾下產生了一個bundle.js檔案。
-
想看效果同樣可以在index.html頁面中將bundle.js引入進來,然後在瀏覽器執行,最終同樣打印出“hellow world”。