Maison > interface Web > tutoriel HTML > Traitement Webpack des fichiers HTML

Traitement Webpack des fichiers HTML

不言
Libérer: 2018-05-28 17:45:36
original
2676 Les gens l'ont consulté

Cet article partage avec vous le traitement des fichiers HTML par Webpack. Les étapes sont très détaillées. Les amis dans le besoin peuvent se référer à

  • Pourquoi traiter le fichier HTML
    . Toutes nos méthodes sont regroupées dans le dossier dist, et notre html se trouve dans le dossier défini par nous-mêmes. Si nous allons manuellement sur src un par un pour introduire les js dans ces dossiers dist, alors il y en a. C'est trop peu fiable

La solution est donc :

Utilisez le plug-in webpack : HtmlWebpackPlugin

  • Étape 1 : Téléchargez

npm install --save-dev extract-text-webpack-plugin
Copier après la connexion

Étape 2 : webpack.config.jsConfiguration

Les éléments de configuration de HtmlWebpackPlugin sont :

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{?}不放入你某些资源模块

Objectifs visés : Mon projet est un projet avec plusieurs fichiers d'entrée. J'espère que chaque page d'entrée introduira le module js et css correspondants
. Par exemple, la page de connexion introduira les js et css de connexion, et l'index introduira les js et css correspondants

<🎜. >

La configuration est la suivante : webpack.config.js

const path = require(&#39;path&#39;);const webpack = require(&#39;webpack&#39;)const ExtractTextPlugin = require("extract-text-webpack-plugin");const HtmlWebpackPlugin = require(&#39;html-webpack-plugin&#39;);const configs = {
  entry:{    &#39;commom&#39;:[&#39;./src/page/common/index.js&#39;],    &#39;index&#39;:[&#39;./src/page/index/index.js&#39;],    &#39;login&#39;:[&#39;./src/page/login/index.js&#39;]
  },
  output:{
    path:path.resolve(__dirname, &#39;dist&#39;),
    filename:&#39;js/[name].js&#39;
  },
  module:{
    rules:[
      {
        test:/\.css$/,
        use:ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader"
        })
      }
    ]
  },
  plugins:[    //独立通用模块
    new webpack.optimize.CommonsChunkPlugin({
      name : &#39;common&#39;,
      filename : &#39;js/base.js&#39;
    }),    //独立打包css
    new ExtractTextPlugin(&#39;css/[name].css&#39;),    //对html模板进行处理,生成对应的html,引入需要的资源模块
    new HtmlWebpackPlugin({
      template:&#39;./src/view/index.html&#39;,//模板文件
      filename:&#39;view/login/index.html&#39;,//目标文件
      chunks:[&#39;commom&#39;,&#39;login&#39;],//对应加载的资源
      inject:true,//资源加入到底部
      hash:true//加入版本号
    })
  ]
}
module.exports= configs
Copier après la connexion
Copier après la connexion
Ensuite le résultat du packaging est le suivant


Traitement Webpack des fichiers HTML

Le fichier cible généré :


Traitement Webpack des fichiers HTML

  • Pourquoi traiter les fichiers html

    Toutes nos méthodes sont regroupées dans le dossier dist, et notre html se trouve dans un dossier auto-défini si vous importez manuellement ces fichiers dist un par un. src Le dossier js est un peu trop peu fiable

La solution est donc :

Utilisez le plug-in webpack : HtmlWebpackPlugin

  • Première étape : Télécharger

npm install --save-dev extract-text-webpack-plugin
Copier après la connexion
Étape deux :

Configurationwebpack.config.js

Les éléments de configuration de HtmlWebpackPlugin sont :


预期目标: 我的项目是一个多入口文件的项目,希望每一个入口页面引入对应的js模块和css
比如login页面引入login的js和css、index引入对应js和css

webpack.config.js配置如下:

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

然后打包结果如下
Traitement Webpack des fichiers HTML

其中生成的目标文件:
Traitement Webpack des fichiers HTML

相关推荐:

在webpack中使用ECharts详解

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

webpack的插件详解

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal