1.新建空文件夾
2.快速初始化項目
創建包管理工具,運行如下命令:
npm init -y
運行後創建的相關配置文件如下圖:
3.創建目錄
在項目根目錄創建src
源代碼目錄和dist
產品目錄
在src
目錄下創建index.html
4.安裝webpack
使用cnpm
安裝webapck
,運行:
cnpm i webpack webpack-cli -D
- 全局運行
npm i cnpm -g
5.約定大於配置
注意:webpack4.x提供了約定大於配置的概念;目的是爲了儘量減少配置文件的體積
- 默認約定了:
- 打包的入口是
src
->index.js
- 打包的輸出文件是
dist
->main.js
- 4.x中新增了
mode
選項(爲必選項),可選的值爲:development
和production
6.配置webpack-dev-server
在內存中生成打包好的main.js
文件;把main.js託管到內存中
運行如下命令進行安裝:
cnpm i webpack-dev-server -D
在package.json
中進行如下配置:
至此,就可以使用’npm run dev’來運行了!!!
7.配置html-webpack-plugin插件
在內存中生成首頁,並自動把打包好的js注入到頁面中去
運行如下命令進行安裝:
cnpm i html-webpack-plugin -D
在webpack.config.js
中進行如下配置:
另附配置詳情(全):
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>首頁</title>
<!-- <script src="../dist/main.js"></script> -->
<!-- <script src="/main.js"></script> -->
</head>
<body>
<h1>這是首頁</h1>
</body>
</html>
index.js
// 假設,main.js還是我們的入口文件
console.log('ok==')
// webpack-dev-server 打包好的 main.js 是託管到了內存中;所以在項目目錄中看不到;
// 但是,我們可以認爲,在項目根目錄中,有一個看不見的 main.js
package.json
{
"name": "01-webpack-base",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --open --port 3000 --hot --host 127.0.0.1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"html-webpack-plugin": "^3.2.0",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
}
}
webpack.config.js
{
"name": "01-webpack-base",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --open --port 3000 --hot --host 127.0.0.1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"html-webpack-plugin": "^3.2.0",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
}
}