Erfahren Sie, wie Sie mit Webpack TypeScript-Code verpacken und kompilieren

Erfahren Sie, wie Sie mit Webpack TypeScript-Code verpacken und kompilieren

TypeScript-Bündelung

Webpack-Integration

Normalerweise müssen wir bei der eigentlichen Entwicklung Build-Tools verwenden, um den Code zu verpacken.

TS kann auch in Verbindung mit Build-Tools verwendet werden. Im Folgenden wird anhand von webpack als Beispiel die Verwendung von TS in Verbindung mit Build-Tools vorgestellt.

Hier sind die Schritte:

Initialisieren des Projekts

Geben Sie das Stammverzeichnis des Projekts ein und führen Sie den Befehl npm init -y aus, um eine Datei package.json zu erstellen

Herunterladen der Build-Tools

Der Befehl lautet wie folgt:

npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader clean-webpack-plugin

Insgesamt wurden 7 Pakete installiert:

  • webpack: Tool zum Erstellen von Webpack
  • webpack-cli: Befehlszeilentool für Webpack
  • webpack-dev-server: Webpack-Entwicklungsserver
  • Typescript: ts-Compiler
  • ts-loader: ts loader, wird zum Kompilieren von ts-Dateien in webpack verwendet
  • html-webpack-plugin: HTML-Plugin in Webpack, zum automatischen Erstellen von HTML-Dateien
  • clean-webpack-plugin: Ein Bereinigungs-Plugin in Webpack, das das Verzeichnis vor jedem Build bereinigt.

Konfigurieren von Webpack

Erstellen Sie die Webpack-Konfigurationsdatei webpack.config.js im Stammverzeichnis:

const path = require("Pfad");
const HtmlWebpackPlugin = erfordern("html-webpack-plugin");
const { CleanWebpackPlugin } = erforderlich("clean-webpack-plugin");

modul.exporte = {
   Optimierung:
       minimieren: false // Codekomprimierung ausschalten, optional},

   Eintrag: "./src/index.ts",

   devtool: "Inline-Quellcode-Map",

   devServer: {
       Inhaltsbasis: "./dist"
   },

   Ausgabe: {
       Pfad: Pfad.resolve(__dirname, "dist"),
       Dateiname: "bundle.js",
       Umfeld:
           arrowFunction: false // Pfeilfunktion von webpack deaktivieren, optional}
   },

   lösen: {
       Erweiterungen: [".ts", ".js"]
   },

   Modul: {
       Regeln:
           {
               Test: /\.ts$/,
               verwenden: {
                   Lader: "ts-loader"     
               },
               ausschließen: /node_modules/
           }
       ]
   },

   Plugins: [
       neues CleanWebpackPlugin(),
       neues HtmlWebpackPlugin({
           Titel: „TS-Test“
       }),
   ]
}

Konfigurieren Sie die TS-Kompilierungsoptionen

Erstellen Sie tsconfig.json im Stammverzeichnis und konfigurieren Sie es entsprechend Ihren Anforderungen

{
   "Compileroptionen": {
       "Ziel": "ES2015",
       "Modul": "ES2015",
       "streng": wahr
   }
}

Ändern der package.json-Konfiguration

Ändern Sie package.json und fügen Sie die folgende Konfiguration hinzu

{
   ...
   "Skripte": {
       "test": "echo \"Fehler: kein Test angegeben\" && exit 1",
       "Build": "Webpack",
       "Start": "WebPack-Serve --öffne Chrome.exe"
   },
   ...
}

Projektnutzung

Erstellen Sie eine ts-Datei unter src und führen Sie npm run build in der Befehlszeile aus, um den Code zu kompilieren.

Oder führen Sie npm start , um den Entwicklungsserver zu starten;

Babel

Zusätzlich zu Webpack wird Babel häufig benötigt, um Code während der Entwicklung zu konvertieren.

Um die Kompatibilität mit mehr Browsern zu gewährleisten, führen Sie Babel basierend auf den oben genannten Schritten mit den folgenden Schritten in das Projekt ein:

Obwohl TS auch die Codekonvertierung während der Kompilierung unterstützt, unterstützt es nur die einfache Codekonvertierung.

Für ES6-Funktionen wie Promise kann TS nicht direkt konvertiert werden, daher wird zur Konvertierung Babel benötigt.

Installieren Sie Abhängigkeitspakete:

npm i -D @babel/core @babel/preset-env babel-loader core-js

Insgesamt wurden 4 Pakete installiert, und zwar:

  • @babel/core: Babels Kernwerkzeuge
  • @babel/preset-env: Babels vordefinierte Umgebung
  • @babel-loader: Babel-Loader im Webpack
  • core-js: core-js wird verwendet, um älteren Browsern die Unterstützung der neuen ES-Syntax zu ermöglichen

Ändern Sie die Konfigurationsdatei webpack.config.js

Modul: {
    Regeln:
        {
            Test: /\.ts$/,
            verwenden: [
                {
                    Lader: "babel-loader",
                    Optionen: {
                        Voreinstellungen: [
                            [
                                "@babel/Vorgabeumgebung",
                                {
                                    "Ziele": {
                                        "chrome": "58",
                                        "ie": "11"
                                    },
                                    "corejs": "3",
                                    "useBuiltIns": "Verwendung"
                                }
                            ]
                        ]
                    }
                },
                {
                    Lader: "ts-loader",
                }
            ],
            ausschließen: /node_modules/
        }
    ]
}

Auf diese Weise werden die mit ts kompilierten Dateien erneut von Babel verarbeitet.

Machen Sie den Code in den meisten Browsern direkt nutzbar;

Sie können in den Zielkonfigurationsoptionen auch die zu kompatiblen Browserversionen angeben.

Dies ist das Ende dieses Artikels über die Verwendung von Webpack zum Verpacken und Kompilieren von TypeScript-Code. Weitere relevante Webpack-Verpackungen und Kompilieren von TypeScript-Inhalten finden Sie in früheren Artikeln auf 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:
  • Detaillierte Erklärung zur Verwendung von TypeScript für die Entwicklung von Webanwendungen
  • Websocket4.0+Typescript-Methode zur Implementierung eines Hot-Updates
  • Detaillierte Erläuterung der Mehrfacheintragskonfiguration von React+TypeScript+webpack4
  • Erstellen einer einfachen Webanwendung mit TypeScript

<<:  Detaillierte Erläuterung der Installations- und Bereitstellungspraktiken von Zabbix

>>:  MySQL: Datenintegrität

Artikel empfehlen

Lösung zum Vergessen des Passworts des Pagodenpanels in Linux 3.X/4.x/5.x

Geben Sie ssh ein und geben Sie den folgenden Bef...

Javascript zum Wechseln von Bildern per Mausklick

In diesem Artikelbeispiel wird der spezifische Ja...

Schritt-für-Schritt-Anleitung zum Erstellen einer Kalenderkomponente mit React

Inhaltsverzeichnis Betriebswirtschaftlicher Hinte...

Zusammenfassung wichtiger Komponenten von MySQL InnoDB

Innodb umfasst die folgenden Komponenten 1. innod...

Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen

Einführung Das MySQL-Protokoll für langsame Abfra...

Ein Artikel zum Verständnis von Operatoren in ECMAScript

Inhaltsverzeichnis Unäre Operatoren Boolesche Ope...

Lösung für ungültige obere Ränder von Elementen in Div-Tags

Genau wie der Titel sagt. Die Frage ist sehr merkw...

Detaillierte Analyse des MySQL-Datentyps DECIMAL

Vorwort: Wenn wir Dezimalzahlen speichern müssen ...

Unterschied zwischen MySQL Btree-Index und Hash-Index

In MySQL werden die meisten Indizes (wie PRIMARY ...

MySQL-Protokolleinstellungen und Anzeigemethoden

MySQL verfügt über die folgenden Protokolle: Fehl...

Hinweise zur Verwendung der verknüpften Liste des Linux-Kernel-Gerätetreibers

/******************** * Anwendung von verknüpften...