百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> webpack对html文件的处置
分享文章到:

webpack对html文件的处置

发布时间:09/01 来源:未知 浏览: 关键词:

本篇文章给大家分享的是关于webpack对html文件的处置 ,步骤都很具体,有需要的伴侣可以参照 一下

  • 为什么去处置html文件
    我们所有的办法都打包到了dist的文件夹下面,而我们的html是在本人定义的文件夹下面,假如本人手动再去一个一个src引入这些dist文件夹下的js,那么也有些太不靠谱了

所以解决方法是:

使用webpack插件:HtmlWebpackPlugin

  • 第一步:下载

npm install --save-dev extract-text-webpack-plugin

第二步:webpack.config.js配置

其中HtmlWebpackPlugin的配置项有:

Name类型Description
title{String}用于生成的HTML文档的标题
filename{String}要生成HTML的文件。可以指定名目
template{String}根据的模板文件
inject{Boolean|String}将js资源注入到页面哪个部位,值有:true \ ‘head’ \ ‘body’ \ false,当传递true或’body’所有JavaScript资源将被放置在正文元素的底部。’head’将足本放置在head元素中
favicon{String}将给定的图标途径增加到输出HTML
hash{Boolean}假如true将webpack所有包括的足本和CSS文件附加一个奇特的编译哈希。这对缓存清除非常有用
chunks{?}放入你需要引入的资源模块
excludeChunks{?}不放入你某些资源模块

预测目标: 我的项目是一个多入口文件的项目,但愿每一个入口页面引入对应的js模块和css
比方login页面引入login的js和css、index引入对应js和css

webpack.config.js配置如下:

const path = require('path');const webpack = require('webpack')const ExtractTextPlugin = require("extract-text-webpack-plugin");const HtmlWebpackPlugin = require('html-webpack-plugin');const configs = {
  entry:{    'commom':['./src/page/common/index.js'],    'index':['./src/page/index/index.js'],    'login':['./src/page/login/index.js']
  },
  output:{
    path:path.resolve(__dirname, 'dist'),
    filename:'js/[name].js'
  },
  module:{
    rules:[
      {
        test:/\.css$/,
        use:ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader"
        })
      }
    ]
  },
  plugins:[    //独立通用模块
    new webpack.optimize.CommonsChunkPlugin({
      name : 'common',
      filename : 'js/base.js'
    }),    //独立打包css
    new ExtractTextPlugin('css/[name].css'),    //对html模板停止处置,生成对应的html,引入需要的资源模块
    new HtmlWebpackPlugin({
      template:'./src/view/index.html',//模板文件
      filename:'view/login/index.html',//目标文件
      chunks:['commom','login'],//对应加载的资源
      inject:true,//资源参加到底部
      hash:true//参加版本号
    })
  ]
}
module.exports= configs

然后打包结果如下
这里写图片描述

其中生成的目标文件:
这里写图片描述

  • 为什么去处置html文件
    我们所有的办法都打包到了dist的文件夹下面,而我们的html是在本人定义的文件夹下面,假如本人手动再去一个一个src引入这些dist文件夹下的js,那么也有些太不靠谱了

所以解决方法是:

使用webpack插件:HtmlWebpackPlugin

  • 第一步:下载

npm install --save-dev extract-text-webpack-plugin

第二步:webpack.config.js配置

其中HtmlWebpackPlugin的配置项有:

Name类型Description
title{String}用于生成的HTML文档的标题
filename{String}要生成HTML的文件。可以指定名目
template{String}根据的模板文件
inject{Boolean|String}将js资源注入到页面哪个部位,值有:true \ ‘head’ \ ‘body’ \ false,当传递true或’body’所有JavaScript资源将被放置在正文元素的底部。’head’将足本放置在head元素中
favicon{String}将给定的图标途径增加到输出HTML
hash{Boolean}假如true将webpack所有包括的足本和CSS文件附加一个奇特的编译哈希。这对缓存清除非常有用
chunks{?}放入你需要引入的资源模块
excludeChunks{?}不放入你某些资源模块

预测目标: 我的项目是一个多入口文件的项目,但愿每一个入口页面引入对应的js模块和css
比方login页面引入login的js和css、index引入对应js和css

webpack.config.js配置如下:

const path = require('path');const webpack = require('webpack')const ExtractTextPlugin = require("extract-text-webpack-plugin");const HtmlWebpackPlugin = require('html-webpack-plugin');const configs = {
  entry:{    'commom':['./src/page/common/index.js'],    'index':['./src/page/index/index.js'],    'login':['./src/page/login/index.js']
  },
  output:{
    path:path.resolve(__dirname, 'dist'),
    filename:'js/[name].js'
  },
  module:{
    rules:[
      {
        test:/\.css$/,
        use:ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader"
        })
      }
    ]
  },
  plugins:[    //独立通用模块
    new webpack.optimize.CommonsChunkPlugin({
      name : 'common',
      filename : 'js/base.js'
    }),    //独立打包css
    new ExtractTextPlugin('css/[name].css'),    //对html模板停止处置,生成对应的html,引入需要的资源模块
    new HtmlWebpackPlugin({
      template:'./src/view/index.html',//模板文件
      filename:'view/login/index.html',//目标文件
      chunks:['commom','login'],//对应加载的资源
      inject:true,//资源参加到底部
      hash:true//参加版本号
    })
  ]
}
module.exports= configs

然后打包结果如下
这里写图片描述

其中生成的目标文件:
这里写图片描述

相关引荐:

在webpack中使用ECharts详解

Node.js、jade生成静态html文件实例

webpack的插件详解

以上就是webpack对html文件的处置的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板