Heim  >  Artikel  >  Web-Frontend  >  Webpack-Verarbeitung von HTML-Dateien

Webpack-Verarbeitung von HTML-Dateien

不言
不言Original
2018-05-28 17:45:362611Durchsuche

In diesem Artikel erfahren Sie mehr über die Verarbeitung von HTML-Dateien durch Webpack. Freunde in Not können sich auf

  • Warum man HTML-Dateien verarbeitet
    beziehen Alle unsere Methoden sind im dist-Ordner gepackt, und unser HTML befindet sich in dem von uns definierten Ordner. Wenn wir manuell nacheinander zu src gehen, um die js in diesen dist-Ordnern einzuführen, sind einige davon zu unzuverlässig

Die Lösung lautet also:

Verwenden Sie das Webpack-Plugin: HtmlWebpackPlugin

  • Schritt 1: Herunterladen

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

Schritt 2: webpack.config.jsKonfiguration

Die Konfigurationselemente von HtmlWebpackPlugin sind:

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

Beabsichtigte Ziele: Mein Projekt ist ein Projekt mit mehreren Eintragsdateien. Ich hoffe, dass auf jeder Eintragsseite das entsprechende js-Modul und das entsprechende CSS
vorgestellt werden >

Die Konfiguration ist wie folgt:

webpack.config.js

Dann ist das Verpackungsergebnis wie folgt
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-Verarbeitung von HTML-DateienDie generierte Zieldatei:


Webpack-Verarbeitung von HTML-Dateien

    Warum HTML-Dateien verarbeiten?
  • Alle unsere Methoden sind im dist-Ordner gepackt, und unser HTML befindet sich in einem selbstdefinierten Ordner, wenn Sie diese dist-Dateien einzeln manuell importieren src Der Ordner js ist etwas zu unzuverlässig


  • Die Lösung lautet also:

Verwenden Sie das Webpack-Plugin: HtmlWebpackPlugin

    Schritt eins: Herunterladen
Schritt zwei:
npm install --save-dev extract-text-webpack-plugin
Konfiguration

webpack.config.jsDie Konfigurationselemente von HtmlWebpackPlugin sind:


预期目标: 我的项目是一个多入口文件的项目,希望每一个入口页面引入对应的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-Verarbeitung von HTML-Dateien

其中生成的目标文件:
Webpack-Verarbeitung von HTML-Dateien

相关推荐:

在webpack中使用ECharts详解

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

webpack的插件详解

Das obige ist der detaillierte Inhalt vonWebpack-Verarbeitung von HTML-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn