广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >html-webpack-plugin怎么用
  • 274
分享到

html-webpack-plugin怎么用

2024-04-02 19:04:59 274人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关html-webpack-plugin怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。html-WEBpack-plugin 可能用过的

这篇文章将为大家详细讲解有关html-webpack-plugin怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

html-WEBpack-plugin 可能用过的 webpack 的童鞋都用过这个 plugin ,就算没用过可能也听过。我们在学习webpack的时候,可能经常会看到这样的一段代码。

// webpack.config.js
module.exports = {
  entry: path.resolve(__dirname, './app/index.js'),
  output:{
    path: path.resolve(__dirname, './build'),
    filename: 'bundle.js'
  }
  ...
  plugins: [
    new HtmlWebpackPlugin()
  ]
}

之后在终端输入 webpack 命令后

webpack

你会神奇的看到在你的 build 文件夹会生成一个 index.html 文件和一个 bundle.js 文件,而且 index.html 文件中自动引用 webpack 生成的 bundle.js 文件。

所有的这些都是 html-webpack-plugin 的功劳。它会自动帮你生成一个 html 文件,并且引用相关的 assets 文件(如 CSS, js)。

自己在六月第一次接触前端自动化构建,学习 webpack 和 React 时,曾经简单使用过这个插件,但也只是用了常见的几个选项,今天就跟着官方文档走一走,看看它的所有用法。

title

顾名思义,设置生成的 html 文件的标题。

filename

也没什么说的,生成 html 文件的文件名。默认为 index.html.

template

根据自己的指定的模板文件来生成特定的 html 文件。这里的模板类型可以是任意你喜欢的模板,可以是 html, jade, ejs, hbs, 等等,但是要注意的是,使用自定义的模板文件时,需要提前安装对应的 loader, 否则webpack不能正确解析。以 jade 为例。

npm install jade-loader --save-dev
// webpack.config.js
...
loaders: {
  ...
  {
    test: /\.jade$/,
    loader: 'jade'
  }
}
plugins: [
  new HtmlWebpackPlugin({
    ...
    jade: 'path/to/yourfile.jade'
  })
]

最终在build文件夹内会生成一个 yourfile.html 和 bundle.js 文件。现在我们再回头来看看之前将的 title 属性。

如果你既指定了 template 选项,又指定了 title 选项,那么webpack 会选择哪一个? 事实上,这时候会选择你指定的模板文件的 title, 即使你的模板文件中未设置 title。

那么 filename 呢,是否也会覆盖,其实不是,会以指定的 filename 作为文件名。

inject

注入选项。有四个选项值 true, body, head, false.

  1. true:默认值,script标签位于html文件的 body 底部

  2. body:同 true

  3. head:script 标签位于 head 标签内

  4. false:不插入生成的 js 文件,只是单纯的生成一个 html 文件

  5. favicon:给生成的 html 文件生成一个 favicon。属性值为 favicon 文件所在的路径名。

// webpack.config.js
...
plugins: [
  new HtmlWebpackPlugin({
    ...
    favicon: 'path/to/yourfile.ico'
  }) 
]

生成的 html 标签中会包含这样一个 link 标签

<link rel="shortcut icon" href="example.ico" rel="external nofollow" >

同 title 和 filename 一样,如果在模板文件指定了 favicon,会忽略该属性。

minify

minify 的作用是对 html 文件进行压缩,minify 的属性值是一个压缩选项或者 false 。默认值为false, 不对生成的 html 文件进行压缩。来看看这个压缩选项。

html-webpack-plugin 内部集成了html-minifier ,这个压缩选项同 html-minify 的压缩选项完全一样,
看一个简单的例子。

// webpack.config.js
...
plugins: [
  new HtmlWebpackPlugin({
    ...
    minify: {
      removeAttributeQuotes: true // 移除属性的引号
    }
  })
]
<!-- 原html片段 -->
<div id="example" class="example">test minify</div>
<!-- 生成的html片段 -->
<div id=example class=example>test minify</div>

hash

hash选项的作用是 给生成的 js 文件一个独特的 hash 值,该 hash 值是该次 webpack 编译的 hash 值。默认值为 false 。同样看一个例子。

// webpack.config.js
plugins: [
  new HtmlWebpackPlugin({
    ...
    hash: true
  })
]
<script type=text/javascript src=bundle.js?22b9692e22e7be37b57e></script>

执行 webpack 命令后,你会看到你的生成的 html 文件的 script 标签内引用的 js 文件,是不是有点变化了。

bundle.js 文件后跟的一串 hash 值就是此次 webpack 编译对应的 hash 值。

$ webpack
Hash: 22b9692e22e7be37b57e
Version: webpack 1.13.2

cache

默认值是 true。表示只有在内容变化时才生成一个新的文件。

showErrors

showErrors 的作用是,如果 webpack 编译出现错误,webpack会将错误信息包裹在一个 pre 标签内,属性的默认值为 true ,也就是显示错误信息。

chunks

chunks 选项的作用主要是针对多入口(entry)文件。当你有多个入口文件的时候,对应就会生成多个编译后的 js 文件。那么 chunks 选项就可以决定是否都使用这些生成的 js 文件。

chunks 默认会在生成的 html 文件中引用所有的 js 文件,当然你也可以指定引入哪些特定的文件。

看一个小例子。

// webpack.config.js
entry: {
  index: path.resolve(__dirname, './src/index.js'),
  index1: path.resolve(__dirname, './src/index1.js'),
  index2: path.resolve(__dirname, './src/index2.js')
}
...
plugins: [
  new HtmlWebpackPlugin({
    ...
    chunks: ['index','index2']
  })
]

执行 webpack 命令之后,你会看到生成的 index.html 文件中,只引用了 index.js 和 index2.js

...
<script type=text/javascript src=index.js></script>
<script type=text/javascript src=index2.js></script>

而如果没有指定 chunks 选项,默认会全部引用。

excludeChunks

弄懂了 chunks 之后,excludeChunks 选项也就好理解了,跟 chunks 是相反的,排除掉某些 js 文件。 比如上面的例子,其实等价于下面这一行

...
excludeChunks: ['index1.js']

chunksSortMode

这个选项决定了 script 标签的引用顺序。默认有四个选项,'none', 'auto', 'dependency', '{function}'。

  1. 'dependency' 不用说,按照不同文件的依赖关系来排序

  2. 'auto' 默认值,插件的内置的排序方式,具体顺序这里我也不太清楚...

  3. 'none' 无序? 不太清楚...

  4. {function} 提供一个函数?但是函数的参数又是什么? 不太清楚...

如果有使用过这个选项或者知道其具体含义的同学,还请告知一下。。。

xhtml

一个布尔值,默认值是 false ,如果为 true ,则以兼容 xhtml 的模式引用文件。

关于“html-webpack-plugin怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: html-webpack-plugin怎么用

本文链接: https://www.lsjlt.com/news/72056.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • html-webpack-plugin怎么用
    这篇文章将为大家详细讲解有关html-webpack-plugin怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。html-webpack-plugin 可能用过的 ...
    99+
    2022-10-19
  • extract-text-webpack-plugin怎么用
    这篇文章主要介绍了extract-text-webpack-plugin怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。extract-...
    99+
    2022-10-19
  • html-webpack-plugin实例分析
    本篇内容主要讲解“html-webpack-plugin实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html-webpack-plugin实例分析”吧...
    99+
    2022-10-19
  • Webpack之plugin的使用
    目录什么是plugin?1.添加版权的plugin: BannerPlugin2.打包html的plugin:   html-webpack-plugin3.js...
    99+
    2023-02-03
    Webpack plugin
  • webpack Plugin的作用是什么
    这篇“webpack Plugin的作用是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“webpack&nbs...
    99+
    2023-06-29
  • webpack的loader和plugin有什么区别
    Webpack的loader和plugin是两个不同的概念,分别用于处理不同的任务。1. Loader(加载器):Loader用于对...
    99+
    2023-10-11
    webpack
  • Webpack中Loader和Plugin的区别是什么
    这篇文章主要介绍“Webpack中Loader和Plugin的区别是什么”,在日常操作中,相信很多人在Webpack中Loader和Plugin的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-19
  • vue-cli5.0 webpack 采用 copy-webpack-plugin 打包复制文件的方法
    目前 vue-cli已经发布5.0了,webpack 配置上也与之前老版本的有所不同,调整 webpack 配置最简单的方式就是在 vue.config.js 中...
    99+
    2022-11-13
  • jQuery plugin animsition怎么用
    这篇文章给大家分享的是有关jQuery plugin animsition怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。用法整理下载地址:https://github.co...
    99+
    2022-10-19
  • webpack怎么用
    这篇文章主要介绍了webpack怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 webpack是基于node的。先安装最新的...
    99+
    2022-10-19
  • React+Webpack怎么用
    这篇文章主要为大家展示了“React+Webpack怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“React+Webpack怎么用”这篇文章吧。webst...
    99+
    2022-10-19
  • IDEA 报Plugin ‘maven-resources-plugin:‘ not found 怎么解决
    IDEA 报Plugin 'maven-resources-plugin:' not found 怎么解决 如果在使用 IDEA 时遇到 "Plugin 'maven-resources-plugin:' not found" 错误,可能...
    99+
    2023-10-05
    intellij-idea maven java
  • golang plugin插件怎么使用
    使用Go语言的插件(plugins)需要注意以下几个步骤: 创建插件模块:首先,你需要创建一个独立的模块来作为插件。这个模块需要...
    99+
    2023-10-20
    golang plugin
  • 使用 Schema-Utils 对 Webpack Plugin 进行配置项校验的简单用例
    目录schema.json插件中的写法修改报错时输出的信息结尾今天来学习如何使用 webpack 官方提供的 schema-utils 库。 schema-utils 库用于在 lo...
    99+
    2022-11-13
  • webpack中CommonsChunkPlugin怎么用
    小编给大家分享一下webpack中CommonsChunkPlugin怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.d...
    99+
    2022-10-19
  • JS控件bootstrap suggest plugin怎么用
    小编给大家分享一下JS控件bootstrap suggest plugin怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!b...
    99+
    2022-10-19
  • spring-boot-maven-plugin报红怎么用
    小编给大家分享一下spring-boot-maven-plugin报红怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:<xml version="1.0" enc...
    99+
    2023-06-29
  • maven-resources-plugin插件怎么使用
    这篇文章主要介绍了maven-resources-plugin插件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇maven-resources-plugin插件怎么使用文章都会有所收获,下面我们一起来看...
    99+
    2023-06-26
  • ​maven-war-plugin插件怎么使用
    这篇文章主要讲解了“maven-war-plugin插件怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“maven-war-plugin插件怎么使用”吧!maven-war-plugi...
    99+
    2023-06-26
  • ​maven-assembly-plugin插件怎么使用
    这篇“maven-assembly-plugin插件怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“maven-ass...
    99+
    2023-06-26
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作