3.WebPack配置文件
一、為什么需要WebPack配置文件
引用自官方:
在 webpack 4 中,可以無須任何配置使用,然而大多數項目會需要很復雜的設置,這就是為什么 webpack 仍然要支持 配置文件。這比在終端(terminal)中手動輸入大量命令要高效的多,所以讓我們創建一個取代以上使用 CLI 選項方式的配置文件:
我們在項目目錄下新建一個webpack.config.js
const path = require("path"); //導入一個模塊
module.exports = {
entry:"./src/index.js", //入口文件
output:{//輸出文件對象
filename:"bundle.js",//輸出文件名
path:path.resolve(__dirname, 'test')//輸出文件的路徑,在這種方式下是個絕對路徑
}
};
注意:這里的require()函數是用來動態導入一個模塊的,這里用到了node.js自帶的一個path模塊(類似于c++中的include<…>,只不過是動態導入的,和LoadLibarary()相似),其中__dirname代表當前目錄,reslove()函數獲得一個絕對路徑也就是當前目錄下的……\test。并且注意這不是JSON文件格式,所以上面的配置文件是可以打注釋的。
我們運行以下命令:
webpack –-config webpack.config.js
將會產生一個bundle.js文件,也就是打包好的文件。
這和之前在dist文件夾生成好的JS文件是一樣的。
默認的,webpack會有一個默認的配置設置,比如之前我們沒有指定輸出文件夾,它確自動的創建了一個dist文件夾并把打包好的文件放在其下。了解一些默認的配置對理解WebPack以及解決莫名奇妙的問題是非常有幫助的。
二、NPM腳本
要知道,程序員都是懶的,能減少重復的勞動絕對不會自己親自動手,我們發現,每一次打包都要輸入webpack,然后后面跟著一串選項,比如 webpack –-mode production –XXX XXX…….,在之前你可能沒有體會到,因為你沒有用到這些選項,現在假想,你要用到許多選項,每次都輸入這么多,會不會覺得很麻煩?所以,NPM腳本就產生了。
我們在package.json文件中的字段scripts字段添加如下信息:
{
"name": "webpack-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build":"webpack --mode production"
},
"keywords": [],
"author": "",
"license": "ISC"
}
然后在命令行工具下執行:
npm run build
這里的npm run XXX是運行XXX腳本,XXX是你在package.json文件中scripts字段下定義的。
知其然,而后知其所以然。




浙公網安備 33010602011771號