欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

webpack中如何壓縮打包html資源

本篇內(nèi)容主要講解“webpack中如何壓縮打包html資源”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“webpack中如何壓縮打包html資源”吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺(tái)小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了韶山免費(fèi)建站歡迎大家使用!

webpack中如何壓縮打包html資源

為什么需要打包html資源

寫代碼時(shí)引入的是src下面的js文件,經(jīng)過(guò)webpack打包后,形成了一個(gè)入口文件,此時(shí)html中js文件的名稱和路徑就不對(duì)了,所以需要webpack打包,把html中引入js文件的路徑替換了。

用webpack打包html的好處有:

(1)可以自動(dòng)將打包后的js文件引入html

(2)html打包后依然會(huì)生成在build文件夾下和打包后的js文件放在一起,這樣上線的時(shí)候我們只需要將打包生成的文件夾一起拷貝到上線環(huán)境就可以了

(3)會(huì)幫我們壓縮html文件

webpack中怎么壓縮打包html資源

1、安裝插件

webpack原生只能理解JS和JSON文件,要支持打包其他類型的文件,都需要安裝相應(yīng)的插件或loader。

如果我們需要打包HTML文件,首先需要安裝html-webpack-plugin插件:

npm install html-webpack-plugin -D

這個(gè)插件的作用:

  • 默認(rèn)在出口下創(chuàng)建一個(gè)html文件,然后導(dǎo)入所有的JS/CSS資源

  • 我們也可以自己指定一個(gè)html文件,在此html文件中加入資源

2、webpack.config.js配置

安裝好html-webpack-plugin插件后,需要在webpack.config.js文件中進(jìn)行配置:

 // ...
 // 1. 引入插件
 const HtmlWebpackPlugin = require('html-webpack-plugin');
 
 module.exports = {
   // ...
   // 2. 在plugins中配置插件
   plugins: [
     new HtmlWebpackPlugin({
       template: 'index.html', // 指定入口模板文件(相對(duì)于項(xiàng)目根目錄)
       filename: 'index.html', // 指定輸出文件名和位置(相對(duì)于輸出目錄)
       // 關(guān)于插件的其他項(xiàng)配置,可以查看插件官方文檔
     })
   ]
 }

確保入口模板文件的路徑和文件名與配置一致,然后可以編譯。

3、多JS入口和多HTML情況的配置

面對(duì)需要編譯出多個(gè)HTML文件,且文件需要引入不同的JS文件,但默認(rèn)情況下,打包后的HTML文件會(huì)引入所有打包后的JS文件,我們可以指定chunk來(lái)分配JS。

 const path = require('path');
 // 1. 引入插件
 const HtmlWebpackPlugin = require('html-webpack-plugin');
 module.exports = {
   // ...
   // 2. 配置JS入口(多入口)
   entry: {
     vendor: ['./src/jquery.min.js', './src/js/common.js'],
     index: './src/index.js',
     cart: './src/js/cart.js'
   },
   // 配置出口
   output: {
     filename: '[name].js',
     path: path.resolve(__dirname, 'build/js')
   },
   // 3. 配置插件
   plugins: [
     new HtmlWebpackPugin({
       template: 'index.html',
       filename: 'index.html',
       // 通過(guò)chunk來(lái)指定引入哪些JS文件
       chunk: ['index', 'vendor']
     }),
     // 需要編譯多少個(gè)HTML,就需要new幾次插件
     new HtmlWebpackPlugin({
       template: './src/cart.html',
       filename: 'cart.html',
       chunk: ['cart', 'vendor']
     })
   ]
 }

Tip: 這里需要注意的是要編譯多少個(gè)HTML文件,就要new幾次HtmlWebpackPlugin

上面的配置編譯成功后,輸出情況是這樣的:

 build
 |__ index.html # 引入index.js和vendor.js
 |__ cart.html    # 引入cart.js和vendor.js
 |__ js
      |__ vendor.js # 由jquery.min.js和common.js生成
      |__ index.js    # 由index.js生成
      |__ cart.js       # 由cart.js生成

壓縮打包html資源實(shí)例

1、webpack.config.js配置

const HTMLWebpackPlugin = require('html-webpack-plugin')
...
 plugins: [
    // html-webpack-plugin  html 打包配置 該插件將為你生成一個(gè) HTML5 文件
    new HTMLWebpackPlugin({
      template: "./index.html", // 打包到模板的相對(duì)或絕對(duì)路徑 (打包目標(biāo))
      title: '首頁(yè)', // 用于生成的HTML文檔的標(biāo)題
      hash: true,//true則將唯一的webpack編譯哈希值附加到所有包含的腳本和CSS文件中。主要用于清除緩存,
      minify: {  // 壓縮html
        collapseWhitespace: true, // 折疊空白區(qū)域
        keepClosingSlash: true,  // 保持閉合間隙
        removeComments: true,   // 移除注釋
        removeRedundantAttributes: true, // 刪除冗余屬性
        removeScriptTypeAttributes: true,  // 刪除Script腳本類型屬性
        removeStyleLinkTypeAttributes: true, // 刪除樣式鏈接類型屬性
        useShortDoctype: true, // 使用短文檔類型
        preserveLineBreaks: true, // 保留換行符
        minifyCSS: true, // 壓縮文內(nèi)css
        minifyJS: true, // 壓縮文內(nèi)js
      }
    }),
  ],
...

2、此時(shí)我們的index.html

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>webpackDemo</title>
  </head>
  <body>
    <div id="app">
      html 打包配置
    </div>
  </body>
</html>

3、此時(shí)我們的index.js

import './../css/index.less'

function add(x,y) {
 return x+y
}
console.log(add(2,3));

3、控制臺(tái)webpack鍵入打包,發(fā)現(xiàn)打包輸出文件多了個(gè)index.html,內(nèi)容如下

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>webpackDemo</title>
  <script defer src="index.js"></script></head>
  <body>
    <div id="app">
      html 打包配置
    </div>
  </body>
</html>

<script defer="" src="index.js"></script>是自動(dòng)引入的

瀏覽器打開打包輸出的 index.html,發(fā)現(xiàn)樣式起了效果,控制太也正常輸出:

webpack中如何壓縮打包html資源

webpack中如何壓縮打包html資源

到此,相信大家對(duì)“webpack中如何壓縮打包html資源”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前標(biāo)題:webpack中如何壓縮打包html資源
標(biāo)題路徑:http://www.aaarwkj.com/article32/igcisc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)品牌網(wǎng)站制作、、服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
亚洲欧洲久久激情久av| 欧美日韩一区二区激情在线| 久草视频免费福利观看| 欧美日韩精品视频专区| 中文字幕日本人妻少妇| 欧美 国产 综合 日韩| 日韩电影在线播放中文字幕| 亚洲日本国产精品一区| 黄色大全欧美在线观看| 国产日韩熟女中文字幕| 91午夜福利偷拍视频| 日韩av高清在线播放| 午夜福利影片免费观看| 日本一二三四卡久久精品| 七月丁香色婷婷婷基地| 国产又粗又长在线视频| 国产91精品系列在线观看| 国产做a爰片久久91| 欧美精品福利一区二区三区| 亚洲男人天堂最新地址| 日本人妻久久中文字幕| 日韩三级av黄片在线| 日本高清不卡在线播放| 国产一区二区激情在线| 国产精品成人一区二区艾草| 变态另类专区一区二区三区| 91欧美在线激情视频| av在线免费观看大全| 亚洲精品av一区二区久久| 深夜视频国产在线观看| 18以下的人禁止看的视频| 亚洲精品乱码国产妇女毛片| 亚洲一区二区三区精品日韩| 免费草b视频在线观看| 色哟哟国产精品一区自拍| 成人av免费高清在线播放| 日韩精品色av一区二区| 91久久亚洲综合精品日本| 最新中文字幕成人在线观看| 亚洲日本不卡在线一区二区| 人妻天天爽夜夜爽欧美色|