html實現文件下載功能「html文件下載代碼」

前言:

通過前面的學習,已經知道如何打包js和json文件,

也了解了如何配置打包樣式文件的loader

但是之前我們都是手動的創建html,並且手動的引入打包後的js文件,這樣會有一定的不便,

因此接下來就一起看看webpack是如何處理html文件的

1. 安裝使用處理html的插件

說明:

  1. webpack打包html文件資源,不是使用loader而是使用插件
  2. 使用html-webpack-plugin插件自動生成html文件

1.1 下載插件

yarn add html-webpack-plugin -D

1.2 配置插件

在webpack.config.js中配置插件說明

  1. 引入下載好的插件
  2. 在plugins中配置插件

代碼如下:

// 1. 引入處理html插件,

const HtmlWebpackPlugin =

require(“html-webpack-plugin”)const {resolve} = require(“path”);module.exports = {
entry: “./src/main.js”,
output:{
filename:”bundle.js”,
path: resolve(__dirname,”dist”)
},
module: {
rules:[
{
test: /\.css$/,
use:[“style-loader”,”css-loader”]
}
]
},
// 配置插件
plugins:[
// 配置 處理html插件
new HtmlWebpackPlugin()
],
mode:”development”}

1.3 打包結果說明

通過webpack命令打包

  1. 會發現打包後的index.html是一個空的html文件 ,沒有其他結構內容
  2. 因為插件html-webpack-plugin是自動創建一個新的html文件,並自動引入bundle.js
  3. 因此我們自己開發的index.html內容並沒有處理到打包後的html文件中

配置代碼如下:

const HtmlWebpackPlugin =

require(“html-webpack-plugin”)const {resolve} = require(“path”);module.exports = {
// …

plugins:[
new HtmlWebpackPlugin({
// 配置html打包模板
template:”./src/main.html”
})
]

// …}

2. 將我們自己寫html內容插入打包後的html文件

2.1 說明

  1. src文件夾使我們開發文件夾,因此我們可能會在這個文件夾中開發html文件內容
  2. 但是html-webpack-plugin會在打包的dist目錄中生成新的html文件,
  3. 新生成的文件中,不包含我們開發的html文件內容
  4. 如果我們需要將自己開發的html內容也插入到打包後的html文件中,就需要配置

2.2 在src文件中新建html,並開發內容

<body>
<div>Hello World</div></body>

2.3 在webpack.config.js配置插件

在webpack.config.js的插件html-webpack-plugin中配置html模板

將我們開發的html文件中的內容插入到plugin生成的html文件中

代碼如下:

const HtmlWebpackPlugin =

require(“html-webpack-plugin”)const {resolve} = require(“path”);module.exports = {
// …
plugins:[
new HtmlWebpackPlugin({
// 配置html打包模板
template:”./src/main.html”
})
]
// …}

此時,打包後, 查看dist目錄中index.html文件中就擁有了我們開發的內容

3. 配置本地webpack

3.1 為什麼需要配置本地webpack

  1. webpack版本的不同,可能會對項目造成影響
  2. 項目是多人協同開發,如果每一個人電腦都全局安裝不同的webpack,會導致項目配置出問題
  3. 因此需要配置項目本地webpack,以及配置腳本運行webpack命令

3.2 下載配置本地webpack

下載本地webpack

$ yarn add webpack webpack-cli -D

3.3 配置腳本命令

配置腳本命令使用webpack打包說明

  1. 在所有的終端里使用webpack命令,默認都是全局安裝的webpack
  2. 項目為了保證統一,需要使用項目本地webpack進行打包
  3. 腳本中運行的webpack是使用本地webpack命令

在package.json中配置腳本命令

“scripts”: {
“test”: “echo \”Error: no test specified\” && exit 1″,
“build”: “webpack”
},

配置完成以後就可以使用npm run build命令來使用本地webpack了

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/210486.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-08 16:17
下一篇 2024-12-08 16:17

相關推薦

發表回復

登錄後才能評論