上一記介紹了webpack的安裝和基本配置,本記將描述webpack自身的配置
一:指定webpack入口以及出口目錄以及輸出檔案
相信讀者在看完上一記後會有一點疑惑:為什麼執行webpack要配置src,為什麼會有構建打包檔案時會生成dist目錄且裡面會有一個main.js呢?
—mydemo
______dist
——————__main.js
______src
——————__index.js
——————__common.js
——————__esmodule.js
——index.html
這是由於webapck在打包過程中會預設將當前根目錄下src/index.js作為入口檔案,並會在根目錄下新建一個dist目錄,並將打包後的檔案(預設main.js)放置在dist的目錄中
如何配置入口以及出口目錄以及檔案 ?
三種辦法:
- 命令列
當前根目錄下輸入npx webpack --entry 入口目錄及指定入口檔案 --output-path 出口目錄及指定出口目錄
// 入口:yentry.js 出口 ./output
npx webpack --entry ./src/myentry.js --output-path ./output
缺點:命令列裡輸入,並不能確保效率
2. 在package.json中配置
在webpack中的script欄位,給打包命令(如build)配置方法1的程式碼
// script欄位下
"scripts":{
"build" : "webpack --entry ./src/myentry.js --output-path ./output "
}
缺點:scripts內要寫太多冗餘程式碼,並不能一眼就看出要做的事情
3.在webpack.config.js中配置專案入口以及打包的目錄檔案(推薦)
webpack.config.js是一個用於webpack配置選項的檔案,可以在這裡做針對wenpack本身以及loader,plugins的配置。本質上是通過匯出一個配置物件,當webpack執行時會優先讀取這個檔案,如果有就執行這個物件內的配置
根目錄下新建webpack.config.js
// 由於webpack底層由node支援,因而使用node風格的匯出方式(讀者也可以嘗試使用esmodule方式,但是流程太過繁瑣,不推薦)
//webpack.config.js
const path = require('path') //引入node原生模組path
module.exports = {
entry : './src/main.js'
output: {
path: path.resolve(__dirname,'build'), //構建完成輸出的目錄地址(需要絕對路徑)
filename: 'mydemo.js'
}
}
命令解析:
entry :入口檔案(需附帶目錄)
output: 輸出目錄以及檔案配置path: 輸出的路徑,需要絕對路徑
path.resolve : node中path模組的一個方法,用於拼接兩個字串
__dirname: 從磁碟到當前目錄下的絕對路徑
'build' : 構建後的目錄名,內部存放打包後的檔案
filename: 打包後的檔案(在build內部)
完成上述配置後,儲存再執行一遍npm run build即可
這樣就完成了webpack入口以及出口檔案的配置
二:重新命名webpack配置檔案
一定要將webpack.config.js作為webpack的配置檔案嗎?是否可以重新命名?
可以, 但不推薦,重新命名後會增加後續開發者閱讀程式碼難度。因而普遍約定不要重新命名webpack.config.js
重新命名webpack.config.js的方法:
package.json下的script欄位的build下輸入以下命令:
// package.json
"script":{
"build":"webpack --config renameconfig.js"
}
下一記:常用loader的安裝與配置