资讯专栏INFORMATION COLUMN

[js高手之路]深入浅出webpack教程系列5-插件使用之html-webpack-plugin配

lentoo / 2196人阅读

摘要:上文我们讲到了的配置和获取数据的方式,本文,我们继续深入的配置一插件中的除了自己定义了一些基本配置外,我们是可以任意的添加自定义的数据文件,就是当前文件所在的绝对路径输出路径,要用绝对路径打包之后输出的文件名教你学我们在中新增了个

上文我们讲到了options的配置和获取数据的方式,本文,我们继续深入options的配置

一、html-webpack-plugin插件中的options除了自己定义了一些基本配置外,我们是可以任意的添加自定义的数据

webpack.dev.config.js文件:

var HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {

</>复制代码

  1. entry : {
  2. main : "./src/js/main.js",
  3. calc : "./src/js/calc.js"
  4. },
  5. output : {
  6. //__dirname,就是当前webpack.config.js文件所在的绝对路径
  7. path : __dirname + "/dist", //输出路径,要用绝对路径
  8. filename : "js/[name]-[hash].bundle.js" //打包之后输出的文件名
  9. },
  10. plugins: [
  11. new HtmlWebpackPlugin({
  12. template : "./index.html",
  13. title : "ghostwu教你学webpack",
  14. inject : true,
  15. date : new Date(),
  16. userName : "ghostwu",
  17. age : 22
  18. })
  19. ]

};

我们在webpack.dev.config.js中新增了3个自定义数据( date,userName, age),我们在demo2目录下面的index.html模板中可以这样读取

1

<%= htmlWebpackPlugin.options.date %>


2

<%= htmlWebpackPlugin.options.userName %>


3

<%= htmlWebpackPlugin.options.age %>

同样设置好了之后,记得( npm run d )重新打包生成.

二、完整的把htmlWebpackPlugin这个实例在模板中遍历出来

demo2下面的index.html文件:

</>复制代码

  1. <span class="hljs-section"><%= htmlWebpackPlugin.options.title %></span>
  2. <%= htmlWebpackPlugin.options.date %>

  3. <%= htmlWebpackPlugin.options.userName %>

  4. <%= htmlWebpackPlugin.options.age %>

    • <% for ( var key in htmlWebpackPlugin ){ %>
    • <% if ( key == "files" ) { %>
    • files

    • <% for( var f in htmlWebpackPlugin[key] ){ %>
    • <%= f %>, <%= htmlWebpackPlugin[key][f] %>
    • <% if ( f == "chunks") { %>
    • <%= JSON.stringify( htmlWebpackPlugin[key][f] ) %>

    • <% } %>
    • <% } %>
    • <% } else { %>
    • options

    • <% for( var f in htmlWebpackPlugin[key] ){ %>
    • <%= f %>, <%= htmlWebpackPlugin[key][f] %>
    • <% } %>
    • <% } %>
    • <% } %>

三,通过上面打印的数据,我们可以自己手动指定js文件的引入,不需要自动inject

webpack.dev.config.js文件

</>复制代码

  1. var HtmlWebpackPlugin = require("html-webpack-plugin");
  2. module.exports = {
  3. entry : {
  4. main : "./src/js/main.js",
  5. calc : "./src/js/calc.js"
  6. },
  7. output : {
  8. //__dirname,就是当前webpack.config.js文件所在的绝对路径
  9. path : __dirname + "/dist", //输出路径,要用绝对路径
  10. filename : "js/[name]-[hash].bundle.js" //打包之后输出的文件名
  11. },
  12. plugins: [
  13. new HtmlWebpackPlugin({
  14. template : "./index.html",
  15. title : "ghostwu教你学webpack",
  16. inject : false
  17. })
  18. ]
  19. };

inject设置为false, js不会自动注入到打包之后的文件dist/index.html,所以我们就要自动指定加载的js文件.

demo2/index.html文件代码:

</>复制代码

  1. <span class="hljs-section"><%= htmlWebpackPlugin.options.title %></span>

执行打包命令( npm run d ),在dist目录下生成的index.html文件,源代码就变成我们手动注入的js文件了

四、minify选项,压缩html文件

他可以配置很多的值,官方参考地址:https://github.com/kangax/htm...

</>复制代码

  1. var HtmlWebpackPlugin = require("html-webpack-plugin");
  2. module.exports = {
  3. entry : {
  4. main : "./src/js/main.js",
  5. calc : "./src/js/calc.js"
  6. },
  7. output : {
  8. //__dirname,就是当前webpack.config.js文件所在的绝对路径
  9. path : __dirname + "/dist", //输出路径,要用绝对路径
  10. filename : "js/[name]-[hash].bundle.js", //打包之后输出的文件名
  11. },
  12. plugins: [
  13. new HtmlWebpackPlugin({
  14. template : "./index.html",
  15. title : "ghostwu教你学webpack",
  16. inject : false,
  17. minify : {
  18. removeComments : true, //去掉注释
  19. collapseWhitespace : true, //去掉空行
  20. }
  21. })
  22. ]
  23. };

这里,我们配置了两种常用的压缩选项( 去掉注释,去掉空行),那么打包生成的index.html文件,就会变成压缩版(比如你看到的jquery.min.js这样的文件,都是经过压缩处理的)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91908.html

相关文章

  • [js高手]深入浅出webpack教程系列4-插件使用html-webpack-plugin

    摘要:还记得我们上文中的文件吗那里面的标签还是写死的文件,那么怎么把他们变成动态的文件,这个动态生成的文件会动态引入我们打包后生成的文件呢,我们可以使用插件,首先安装这个插件,好的,接下来就开始用这个插件了官方参考文档插件通用用法 还记得我们上文中的index.html文件吗? 那里面的script标签还是写死的index.bundle.js文件,那么怎么把他们变成动态的index.html...

    qpal 评论0 收藏0
  • [js高手]深入浅出webpack教程系列6-插件使用html-webpack-plugin

    摘要:上文我们对的实例进行了遍历分析,讲解了几个常用属性以及自定义属性的添加,本文,我们继续深入他的配置选项的探讨一选项这个属性非常有用,可以指定某个页面加载哪些如文件我们可以用他做多个页面模板的生成比如,我们在实际开发中,做一个博客网站,一 上文我们对html-webpack-plugin的实例htmlWebpackPlugin进行了遍历分析,讲解了几个常用属性( inject, mini...

    jokester 评论0 收藏0
  • [js高手]深入浅出webpack教程系列1-安装与基本打包用法和命令参数

    摘要:,我想大家应该都知道或者听过,是前端一个工具可以让各个模块进行加载预处理再进行打包。 webpack,我想大家应该都知道或者听过,Webpack是前端一个工具,可以让各个模块进行加载,预处理,再进行打包。现代的前端开发很多环境都依赖webpack构建,比如vue官方就推荐使用webpack.废话不多说,我们赶紧开始吧. 第一步、安装webpack 新建文件夹webpack->再在web...

    pubdreamcc 评论0 收藏0
  • [js高手]深入浅出webpack教程系列2-置文件webpack.config.js详解(上

    摘要:接着上文,重新在文件夹下面新建一个项目文件夹,然后用初始化项目的配置文件,然后安装,然后创建基本的项目文件夹结构,好了,我们的又一个基本项目结构就搭建好了第一开始通过文件配置我们的项目首先在项目文件夹下面,新建一个文件,这个文件可 接着上文,重新在webpack文件夹下面新建一个项目文件夹demo2,然后用npm init --yes初始化项目的package.json配置文件,然后安...

    moven_j 评论0 收藏0
  • [js高手]深入浅出webpack教程系列3-置文件webpack.config.js详解(下

    摘要:本文继续接着上文,继续写下的其他配置用法一把两个文件打包成一个,怎么配置在上文中的中,用数组配置文件代码,就是当前文件所在的绝对路径输出路径,要用绝对路径打包之后输出的文件名然后在目录下面新建一个文件,代码如下之前的文件的代码告诉你怎么学习 本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一、把两个文件打包成一个,entry怎么配置? 在上文中的webpa...

    xiangchaobin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<