webpack Teil1

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 / } 
]}

 

Ich denke du magst

Origin www.cnblogs.com/-constructor/p/12617240.html
Empfohlen
Rangfolge