Heim >Web-Frontend >js-Tutorial >Ausführliche Erläuterung der Verwendung des Webpack-Plug-ins html-webpack-plugin-Beispiel
Dieses Mal werde ich Ihnen ein detailliertes Beispiel für die Verwendung des Webpack-Plug-Ins HTML-Webpack-Plugin geben Praktische Fälle, werfen wir einen Blick darauf. Dieses Plugin wird verwendet, um die Erstellung von HTML-Dateien zu vereinfachen, die Webpack-Bundles bereitstellen, insbesondere wenn der Dateiname einen Hash-Wert enthält und dieser Wert sich bei jeder Kompilierung ändert. Sie können sich entweder von diesem Plugin automatisch bei der Generierung von HTML-Dateien helfen lassen, Lodash-Vorlagen verwenden, um die generierten Bundles zu laden, oder die Bundles selbst laden.
InstallationVerwenden Sie npm, um dieses Plugin zu installieren
$ npm install html-webpack-plugin@2 --save-devGrundlegende Verwendung
Dieses Plugin kann helfen Generieren Sie eine HTML-Datei, verwenden Sie im Body-Element ein Skript, um alle Ihre Webpack-Bundles einzubinden. Konfigurieren Sie einfach Folgendes in Ihrer Webpack-
Konfigurationsdatei: var HtmlWebpackPlugin = require('html-webpack-plugin')
var webpackConfig = {
entry: 'index.js',
output: {
path: 'dist',
filename: 'index_bundle.js'
},
plugins: [new HtmlWebpackPlugin()]
}
Dies wird automatisch im dist-Verzeichnis Generate sein eine Datei namens index.html mit folgendem Inhalt:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Webpack App</title> </head> <body> <script src="index_bundle.js"></script> </body> </html>
Wenn Sie mehrere Webpack-Einstiegspunkte haben, werden diese alle in das generierte Skriptelement aufgenommen.
Wenn in der Webpack-Ausgabe CSS-Ressourcen enthalten sind (z. B. mit ExtractTextPlugin extrahiertes CSS), werden diese über Links in das Head-Element der HTML-Seite eingefügt.
Konfigurationkann eine Reihe von Konfigurationen durchführen und unterstützt die folgenden Konfigurationsinformationen
-Ressourcen am Ende des Body-Elements platziert und „head“ wird platziert am unteren Rand des Körperelements.
{ entry: 'index.js', output: { path: 'dist', filename: 'index_bundle.js', hash: true }, plugins: [ new HtmlWebpackPlugin({ title: 'My App', filename: 'assets/admin.html' }) ] }Generieren Sie mehrere HTML-Dateien
Generieren Sie mehrere HTML-Dateien, indem Sie dieses Plugin mehrmals in der Konfigurationsdatei hinzufügen.
{ entry: 'index.js', output: { path: 'dist', filename: 'index_bundle.js' }, plugins: [ new HtmlWebpackPlugin(), // Generates default index.html new HtmlWebpackPlugin({ // Also generate a test.html filename: 'test.html', template: 'src/assets/test.html' }) ] }Benutzerdefinierte Vorlagen schreiben
Wenn die standardmäßig generierte HTML-Datei nicht Ihren Anforderungen entspricht, können Sie Ihre eigene benutzerdefinierte Vorlage erstellen. Eine bequeme Möglichkeit besteht darin, die Injektionsoption zu übergeben und sie dann an eine benutzerdefinierte HTML-Datei zu übergeben. Das HTML-Webpack-Plugin fügt automatisch alle erforderlichen CSS-, JS-, Manifest- und Favicon-Dateien in das Markup ein.
plugins: [ new HtmlWebpackPlugin({ title: 'Custom template', template: 'my-index.html', // Load a custom template inject: 'body' // Inject all scripts into the body }) ]
meine-index.html-Datei
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <title><%= htmlWebpackPlugin.options.title %></title> </head> <body> </body> </html>
Wenn Sie einen Vorlagenlader haben, können Sie ihn zum Parsen dieser Vorlage verwenden.
module: { loaders: [ { test: /\.hbs$/, loader: "handlebars" } ] }, plugins: [ new HtmlWebpackPlugin({ title: 'Custom template using Handlebars', template: 'my-index.hbs', inject: 'body' }) ]
Wenn Ihr Muster außerdem ein
StringDas obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung des Webpack-Plug-ins html-webpack-plugin-Beispiel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!