博客
关于我
webpack实践(三)- html-webpack-plugin
阅读量:396 次
发布时间:2019-03-05

本文共 2216 字,大约阅读时间需要 7 分钟。

webpack系列博客中代码均在github上:

一.前言

  前面两篇文章中,我们实践了webpack cli和配置文件这两种打包方式,然而在验证的时候,均是手动将打包后的结果文件index.bundle.js添加到index.html中。

  这显然脱离了我们实际的开发流程:实际开发中,通常引入的外部文件名都是已知的,而我们需要引入的文件名还需要在打包完成后才能确定。

  那么今天我们要学习的这个html-wepback-plugin就解决这个问题。

二.安装

  npm install --save-dev html-webpack-plugin
 
  

 

  

 

三.使用  

  参考官方文档的示例,我们来使用一下这个插件

1.基本用法

  先将webpack.config.js的代码贴上来

// 第一步:引入var htmlWepackPlugin = require('html-webpack-plugin')var path = require('path');module.exports = {  mode: 'development',  entry: {    main: './index.js'  },  output: {    path: path.resolve(__dirname,'dist'),    filename: 'index.bundle.js'  },  // 第二步:创建html-webpack-plugin的实例,配置到plugins选项中  plugins:[    new htmlWepackPlugin()  ]};

 

  可以看到添加html-webpack-plugin的基本使用方法就是两个步骤:

    使用require引入

    创建实例对象并配置到plugins选项中

  为了看清楚添加这个插件的效果,我们将前两篇文章中根目录下的index.html和dist删除

  

 

   现在,我们在使用webpack命令进行打包

  

 

  查看打包后的生成的文件和目录

  

  可以看到打包完成后,在项目根目录下生成了一个dist目录,在该目录下生成了一个indx.bundle.js脚本文件和一个index.html模板文件。

  index.bundle.js文件和前两节打包的结果文件内容一致。

  index.html内容如下

  dist/index.html

      
Webpack App

 

  这个index.html就是html-webpack-plugin这个插件帮我们生成的,而且它还将打包后的结果文件index.bundle.js引入到了界面中。

  这样是不是有点有贴*我们*时的开发了。

  实际上,日常项目开发中,通常我们会有自己html模板,因此我们还需要对这个插件做一些配置,让它使用我们的模板,并且将打包后的结果文件自动引入到我们编写的模板中。

2.配置模板

  配置模板需要在创建html-webpack-plugin实例时传入template参数。

    template: 模板路径和模板名称

  现在我们将template的配置添加到webpack.config.js配置文件中

// 第一步:引入var htmlWepackPlugin = require('html-webpack-plugin')var path = require('path');module.exports = {  mode: 'development',  entry: {    main: './index.js'  },  output: {    path: path.resolve(__dirname,'dist'),    filename: 'index.bundle.js'  },  // 第二步:创建html-webpack-plugin的实例,配置到plugins选项中  plugins:[    new htmlWepackPlugin({      template: './index.html'    })  ]};

  在此我们还需要做两件事:

    删除基本用法中生成的dist目录

    在根目录下新建我们的模板文件index.html

  

  index.html的内容如下:

            

webpack实践(三)- html-webpack-plugin

  最后,我们在进行一次打包

  

 

  

   dist目录下的index.bundle.js文件还是和之前一样,我们看一下index.html文件的内容

            

webpack实践(三)- html-webpack-plugin

  可以看到dist/index.html已经将打包后的结果文件index.bundle.js引入。

  浏览器打开dist/index.html验证结果:

  

   和之前的结果一致。

 

 

  到此,本节内容结束,下一篇将深入学习总结一下html-webpack-plugin除template之外更多的配置项。

  


  

转载地址:http://vwrzz.baihongyu.com/

你可能感兴趣的文章
博客园新闻频道开始公开测试
查看>>
评论表聚集索引引起的评论超时问题
查看>>
博客园上海俱乐部4月份活动通知邀请函已经发出!
查看>>
Internet Explorer 10 专题上线
查看>>
云计算之路-阿里云上:0:25~0:40网络存储故障造成网站不能正常访问
查看>>
网站故障公告1:使用阿里云RDS之后一个让人欲哭无泪的下午
查看>>
上周热点回顾(1.21-1.27)
查看>>
上周热点回顾(6.3-6.9)
查看>>
上周热点回顾(8.12-8.18)
查看>>
【故障公告】升级阿里云 RDS SQL Server 实例故障经过
查看>>
蹒跚来迟:新版博客后台上线公测
查看>>
上周热点回顾(9.16-9.22)
查看>>
上周热点回顾(11.4-11.10)
查看>>
[网站公告]11月26日00:00-04:00阿里云RDS升级
查看>>
[网站公告]又拍云API故障造成图片无法上传(已恢复)
查看>>
上周热点回顾(12.16-12.22)
查看>>
云计算之路-阿里云上:对“黑色30秒”问题的猜想
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
查看>>
云计算之路-阿里云上:奇怪的CPU 100%问题
查看>>
云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
查看>>