1. Das Ein- und Auslaufprofil
w4 Standardeintrag Datei src index.js
Die Standardausgabe dist main.js
Individuelle Ein- und Auslass
die erfordern path = const ( 'Pfad' ) module.exports = { Eintrag: { path: path.join (__ dirname, ‘./src/index.js') // absolute Pfad }, Output: { path: path.join ( __dirname, './dist'), // __dirname aktuelles Verzeichnis der Datei Dateiname: 'bundle.js' // Ausgabedateiname } }
2. Die automatische Verpackungsfunktion
Jedesmal, wenn Sie den Code ändern, müssen zu viel Mühe Verpackung zu tun
// automatische Paketierungsprogramme NPM i webpack-dev-Server -D
Ändern Sie dann das folgende Skript dev
webpack-dev-Server
Modify verweist Pfade /bundle.js
Da dieses Tool wird ein Paket von Dateien im Stammverzeichnis erzeugen und unsichtbar
Generieren Vorschau 3.
npm i html-webpack-Plugin -D
die erfordern htmlWebpackPlugin = konst ( 'HTML-WebPACK-Plugin' ) const htmlPlugin = new new htmlWebpackPlugin ({ Vorlage: './src/index.html', // Vorlage verwenden angegeben 'index.html': Dateiname // angeben ein Dateiname im Speicher wird nicht angezeigt , zu erzeugen. }) module.exports = { Plugins: [htmlPlugin] // WebPACK beim Verpacken Stecker verwendet werden }
Das obige wird in die Konfigurationsdatei geschrieben
4. Automatische offene Seite Verpackung
konfigurieren package.json
"WebPACK-dev-Server --open --host 127.0.0.1 --port 8000": "dev" // öffnen sich automatisch öffnen , nachdem das Paket Seite abgeschlossen ist // Host Configuration IP - Adresse
5. Loader
5.1 Nicht verpackt durch loader Module js
webpack standardmäßig nur verpackt js Datei-Suffix
loader Hilfe webpack verpackt Modul
5.2 loader Anwendungen
Verarbeitung von CSS-Datei
npm i style-loader CSS-loader -D
webpack.config Konfigurationsdatei
Modul: { Regeln: [ {Test: /\.css$/, Verwendung: [ 'Stil-loader', 'css-loader' ]} ] }
5.3 die Verpackungsprozessdokumente weniger (kann darstellen, verschachtelte)
NPM i weniger-loader weniger -D
Modul: {
Regeln: [
{Test: /\.css$/, Verwendung: [ 'Stil-loader', 'css-loader' ]}
{Test: /\.css$/, Verwendung: [ 'Stil-loader', 'css-loader', 'weniger-loader' ]}]}
6. Konfigurieren postCSS automatisch CSS kompatibel Präfix (Browser-Anbieter) hinzuzufügen
npm i postcss-loader autoprefixer -D
Erstellen Sie eine Datei postcss Profil postcss.config.js
die erfordern autoprefixe = konst ( 'autoprefixe' ) // Import - Plug
module.exports = {Plugins: [ autoprefixe ] // montieren Stecker
}
Dann webpack.config.js in CSS-Regeln, die Regeln des Laders zu ändern
NPM i weniger Lader weniger - D - Modul: { Regeln: [ {Test: /\.css$/, Verwendung: [ 'Stil-loader', 'css-loader', 'postcss-loader' ]} {Test: / \ css $ /, zu verwenden: [ 'Stil-loader', 'css-loader', 'weniger-loader']}]}
7. verpackt Sheet Bilder und Text-Schriftart
npm i url-loader Datei-loader -D
Loader I-weniger weniger NPM - D Module1: { die Regeln: [ {Test: /\.css$/, Verwendung: [ 'style-Loader', 'CSS-Loader', 'postcss-Loader' ]} {Test: / \ css $ /, zu verwenden: [ 'style-Loader', 'CSS-Loader', 'weniger-Loader' ]}] {Test: /\.jpg/png/gif/bmg/ttf/eot/svg/woff / woff2 $ / , Verwendung: }]}} ‚URL Loader-limit = 16940?‘ // stellt eine Referenz ein Bildübertragungs Byte Größe der Einheit geben weniger als ein bestimmten Grenzwert als nicht größer ist oder übertragen gleich Bild übertragen base64?
Loader I-weniger weniger NPM - D Module1: { die Regeln: [ {Test: /\.css$/, Verwendung: [ 'style-Loader', 'CSS-Loader', 'postcss-Loader' ]} {Test: / \ css $ /, zu verwenden: [ 'style-Loader', 'CSS-Loader', 'weniger-Loader' ]}] {Test: /\.jpg/png/gif/bmg/ttf/eot/svg/woff / woff2 $ / , Verwendung: }]}} ‚URL Loader-limit = 16940?‘ // stellt eine Referenz ein Bildübertragungs Byte Größe der Einheit geben weniger als ein bestimmten Grenzwert als nicht größer ist oder übertragen gleich Bild übertragen base64?
8. verpackt js Profi-Suche
Zum Beispiel Klasse
bable Konverter verwandte Pakete
npm i babel-loader @ babel / core @ babel / runtime -D
Installation bable Syntax-Plugins ähnliche Pakete
npm i @ babel / Preset-env @ bable / Plugin-Transformations-runtime @ babel / Pligin-Vorschlag-Klasse-Eigenschaften -D
Dann wird das Stammverzeichnis wird babel.config.js babel Profil erstellt
= Module.exports { Presets: [ @ Babel / PRESET-the env ]
Plugins: [ @ bable / Plugin-Transform -Runtime, @ Babel / Pligin-Proposal-Klasse-Eigenschaften ] // wird während des Verpackungs Stecker webpack verwendet werden }
dann webpack.config
Modul: { Regeln: [ {Test: /\.css$/, Verwendung: [ 'Stil-loader', 'css-loader', 'postcss-loader' ]}, {Test: /\.css$/, Verwendung : [ 'Stil-loader', 'css-loader', 'weniger-loader' ]}, {Test: /\.jpg/png/gif/bmg/ttf/eot/svg/woff/woff2$/ , Verwendung: '? url-loader limit = 16940' }, {Test: /\.js$/, Verwendung: [ 'babel-loader'], ausschließen: / node_modules / } ]}