webpack4.x項目的基本配置、使用步驟、新增特性詳解

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選項(爲必選項),可選的值爲:developmentproduction

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"
  }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章