1. 創建項目
1.1 初始化一個項目
首先安裝nodejs,打開 nodeJs官網 直接下載安裝即可,安裝完畢後打開命令行工具,進入你的項目文件夾,執行
npm init 進行項目的初始化:
過程中會讓你填寫項目名、版本、描述、倉庫地址、關鍵字等信息,可以不填一路回車,執行完畢後會在根目錄下創建一個 package.json 文件,這樣就初始化結束了。
1.2 安裝webpack
由於在webpack4中已經不再默認安裝 webpacl-cli,所以我們要手動安裝,在命令行執行 npm i webpack webpack-cli -D 即可。對於大多數項目,建議本地安裝。這可以使我們在引入破壞式變更(breaking change)的依賴時,更容易分別升級項目。
2. 打包第一個JS文件
首先,我們在根目錄下創建一個 webpack.config.js 文件和一個src文件夾。然後在src中創建一個 main.js 文件,如下:
在 main.js 中寫一行
alert('hello world')
然後打開 webpack.config.js ,進行webpack的配置:
const path = require('path')
let config = {
mode: 'none',
entry: {
main: path.join(__dirname, './src/main.js')
},
output: {
filename: '[name].bundle.js',
path: path.join(__dirname, './dist')
}
}
module.exports = config
我們設置了一個名爲 main 的入口,並以 src 下的 main.js 作爲入口文件,然後輸出到根目錄下的 dist 文件夾中。
在webpack4中,我們需要設置 mode 屬性,用來決定當前是development還是production環境,webpack會根據此值來進行一些默認操作,兩種環境的不同配置後面的博文會詳解,這裏我們設置爲 'none' ,來避免默認操作。前文已經說過,path 是 nodeJs中的核心模塊用來操作路徑,__dirname 表示文件的當前路徑(此時爲根路徑)。而 output中的filename屬性,[name] 表示入口的名稱,此處就是 main。
接下來打開 package.json 文件,來編寫一條命令執行webpack的打包。在 script 中添加:
"build": "webpack --config webpack.config.js --progress --colors"
webpack --config path/to/your/file/file.js 表示執行某個配置文件,--progress可以讓我們看到打包的進度 , --colors 開啓命令行顏色顯示,更多的webpack命令參數大家可以另行查閱。
然後就可以在命令行執行:npm run build,執行完畢後,我們可以看到,在根目錄下多了一個 dist 文件夾 並有一個 main.bundle.js文件,這就是webpack爲我們打包出來的靜態資源,而文件路徑就是我們在 output 中設置的值。
爲了演示打包好的 main.bundle.js ,我們在根目錄下創建一個 index.html ,並引入main.bundle.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="dist/main.bundle.js"></script>
</body>
</html>
在瀏覽器中打開 index.html,可見main.js中的代碼已經被執行了:
在IDE中打開main.bundle.js,代碼的最底部可以看到我們在main.js中寫的代碼。
至此,我們的第一次 webpack 打包就成功了。
本人才疏學淺,不當之處歡迎批評指正