Webpack erstellt ein Gerüst zum Verpacken von TypeScript-Code

Webpack erstellt ein Gerüst zum Verpacken von TypeScript-Code

Erstellen eines Ordners

Verzeichnisstruktur: dabaots

Initialisieren Sie npm init -y um die Datei package.json zu generieren

Verzeichnisstruktur:
Abonnieren
dabaots/paket.json

Installieren Sie dann die folgenden Tools in der Entwicklungsumgebung

npm ich -D

webpack·························(Das Kerntool zum Verpacken von Code
webpack-cli······················(Befehlszeilentool für webpack)
typescript ························(das zum Schreiben von ts erforderliche Kernpaket)
ts-loader ···························(webpack und ts können über ts-loader integriert werden)
html-webpack-plugin … (ein Webpack-Plugin, das automatisch HTML generiert)
webpack-dev-server … (die Update-Seite muss nicht aktualisiert werden)
clean-webpack-plugin … (So generieren Sie die neuesten Dateien neu, die in „dist“ vor dem Start jedes Pakets automatisch gelöscht werden)
"@babel/core" "@babel/preset-env" babel-loader core-js (installieren Sie die Babel-Konvertierung, sie konvertiert den Code entsprechend Ihrer Umgebung)

Kleine Probleme, die auftreten können: Das Problem, das hier auftreten kann, ist, dass, wenn die Version des von Ihnen heruntergeladenen Abhängigkeitspakets webpack-dev-server nicht mit der von Google kompatibel ist, empfohlen wird, die Plug-In-Version auf eine niedrigere Ebene zu ändern oder Google Chrome auf die neueste Version zu aktualisieren, da sonst der Fehler „Cannot GET /chrome.exe“ auftritt

Erstellen Sie als Nächstes webpack.config.js zur Konfiguration

Verzeichnisstruktur:
Abonnieren
dabaots/paket.json
dabaots/webpack.config.js

// Ein Paket importieren const path = require("path")

//Paket zur automatischen HTML-Generierung einführen const HtmlWebpackPlugin = require("html-webpack-plugin")

//Führen Sie das Plugin ein, um die Dist-Datei zu aktualisieren const {CleanWebpackPlugin} = require("clean-webpack-plugin")

// Alle Konfigurationsinformationen in Webpack sollten in moudle.exportsmodule.exports={ geschrieben werden.
    //Geben Sie den Eintrag der Eintragsdatei an: "./src/index.ts",
    //Geben Sie das Verzeichnis an, in dem sich die gepackte Datei befindet. Ausgabe:{
        //Geben Sie den Verzeichnispfad der gepackten Datei an:path.resolve(__dirname,"dist"),
        //Geben Sie den Dateinamen der gepackten Datei an: „bundle.js“,
        //Verwenden Sie beim Kompilieren der Umgebung keine Pfeilfunktionen: {
            Pfeilfunktion: false
        }
    },
    
    //Webpack muss beim Verpacken ein Modul verwenden.module:{
        //Geben Sie die zu ladenden Regeln an:[{
            // test gibt die Datei test:/\.ts$/ an, in der die Regel wirksam wird.
            // use ist der zu verwendende Loader
            //Babel konfigurieren
            verwenden:[
                {//Loader angeben loader: "babel-loader",
                    Optionen: {
                        //Die vordefinierten Umgebungsvorgaben festlegen:[
                            [
                                //Geben Sie das Umgebungs-Plugin "@babel/preset-env" an,
                                //Konfigurationsinformationen {
                                    //Browserziele, die kompatibel sein müssen:{
                                        "Chrom": "88"
                                    },
                                    //Geben Sie die CoreJS-Version an "corejs":"3",
                                    // bedeutet Laden bei Bedarf "useBuiltIns": "usage"
                                }
                            ]
                        ]
                    }
                },
                „ts-loader“
            ],
            //Dateien festlegen, die nicht gepackt und hochgeladen wurden, ausschließen: ["/node_modules/"]
        }]
    },
    
    // Webpack-Plugins konfigurieren:[
        neues HtmlWebpackPlugin({
            // Benutzerdefinierte HTML-Vorlage für die Adressvorlage: "./src/index.html"
        }),
        //Jedes Mal vor dem Verpacken und Starten werden die Dateien in dist automatisch gelöscht. So generieren Sie die neuesten Dateien neu: new CleanWebpackPlugin()
    ],
    
    lösen:{
        //Lösen Sie das Fehlerproblem, wenn andere TS-Pakete separat in die TS-Dateierweiterungen eingeführt werden: ['.ts', '.js']
    }
}

Schreiben Sie abschließend die Verpackungs- und Ausführungsskripte in package.json

Führen Sie im Terminal npm run build package aus und führen Sie

Nach erfolgreicher Verpackung wird automatisch eine Dist-Datei generiert

npm run start öffnet automatisch Google Chrome und der Inhalt wird aktualisiert

Dies ist das Ende dieses Artikels über Webpack-Scaffolding und TypeScript-Code-Verpackung. Weitere relevante Inhalte zur Webpack-TypeScript-Code-Verpackung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Grundlagen und Beispiele zur TypeScript-Aufzählung
  • Ausführliche Lektüre und Übungsaufzeichnungen zu bedingten Typen in TypeScript
  • Typescript+React zum Erzielen einfacher Drag-and-Drop-Effekte auf Mobilgeräten und PCs
  • Implementierung von TypeScript im React-Projekt
  • Praktischer Bericht über die Entwicklung von Vue3- und TypeScript-Projekten
  • Vue3 + TypeScript-Entwicklungszusammenfassung
  • Vue3+TypeScript implementiert ein vollständiges Beispiel einer rekursiven Menükomponente
  • So verwenden Sie TypeScript in Vue
  • Eine kurze Diskussion zum Verständnis von TypeScript-Indexsignaturen

<<:  Analyse der MySql CURRENT_TIMESTAMP-Funktion anhand eines Beispiels

>>:  Zusammenfassung einiger gängiger Schreibmethoden, die zu MySQL-Indexfehlern führen

Artikel empfehlen

Eine Kurzanleitung zu MySQL-Indizes

Die Einrichtung eines MySQL-Index ist für den eff...

Lösung zum Vergessen des MySQL-Passworts unter Linux

Das Problem ist folgendes: Ich habe den Befehl my...

Praktische TypeScript-Tipps, die Sie vielleicht nicht kennen

Inhaltsverzeichnis Vorwort Funktionsüberladung Zu...

Mit CSS3 implementierte Schaltfläche zum Hovern von Bildern

Ergebnis:Implementierungscode html <ul Klasse=...

So implementieren Sie Call, Apply und Binding in nativem JS

1. Implementieren Sie den Anruf Schritt: Legen Si...

Detaillierte Zusammenfassung häufig verwendeter MySQL-Funktionen

Inhaltsverzeichnis Allgemeine MySQL-Funktionen 1....

Zwei Abfragemethoden, wenn der MySQL-Abfragefeldtyp JSON ist

Die Tabellenstruktur ist wie folgt: Ich würde var...

Detaillierte Erklärung des Lebenszyklus von Angular-Komponenten (Teil 2)

Inhaltsverzeichnis 1. Haken anzeigen 1. Was bei d...

Äußerst detaillierte Freigabe der MySQL-Nutzungsspezifikation

In letzter Zeit waren viele datenbankbezogene Vor...

WeChat-Applet-Canvas implementiert Signaturfunktion

Im WeChat-Applet-Projekt umfasst das Entwicklungs...

Benutzerdefiniertes Auswahlfeld für die Webseite Auswählen

Jeder ist wahrscheinlich mit dem Auswahl-Dropdown...