WebpackはTypeScriptコードをパッケージ化するためのスキャフォールディングを構築します

WebpackはTypeScriptコードをパッケージ化するためのスキャフォールディングを構築します

フォルダを作成する

ディレクトリ構造: dabaots

npm init -yを初期化して package.json ファイルを生成します。

ディレクトリ構造:
ダバオツ
dabaots/package.json

次に開発環境に以下のツールをインストールします

npm i -D

webpack·························(コードをパッケージ化するためのコアツール
webpack-cli······················(webpack 用コマンドラインツール)
typescript ·························(ts を書くために必要なコアパッケージ)
ts-loader ···························(webpack と ts は ts-loader を介して統合できます)
html-webpack-plugin … (HTML を自動生成する webpack プラグイン)
webpack-dev-server … (更新ページを更新する必要はありません)
clean-webpack-plugin … (各パッケージが起動される前に、dist 内の最新のファイルを自動的にクリアして再生成する方法)
"@babel/core" "@babel/preset-env" babel-loader core-js (babel変換をインストールすると、環境に応じてコードに変換されます)

発生する可能性のある小さな問題: ここで発生する可能性のある問題は、ダウンロードした依存パッケージ webpack-dev-server のバージョンが Google のバージョンと互換性がない場合は、プラグインのバージョンを低いレベルに変更するか、Google Chrome を最新バージョンにアップグレードすることをお勧めします。そうしないと、「Cannot GET /chrome.exe」というエラーが発生します。

次に、設定用のwebpack.config.jsを作成します。

ディレクトリ構造:
ダバオツ
dabaots/package.json
dabaots/webpack.config.js

// パッケージをインポートする const path = require("path")

//HTML を自動生成するためのパッケージを導入します const HtmlWebpackPlugin = require("html-webpack-plugin")

//dist ファイルを更新するためのプラグインを導入します const {CleanWebpackPlugin} = require("clean-webpack-plugin")

// webpack のすべての設定情報は、moudle.exportsmodule.exports={ に書き込む必要があります。
    //エントリファイルエントリを指定します: "./src/index.ts",
    //パッケージ化されたファイルが配置されているディレクトリを指定します。出力:{
        //パッケージ化されたファイルのディレクトリパスを指定します:path.resolve(__dirname,"dist"),
        //パッケージ化されたファイルのファイル名を指定します: "bundle.js",
        //コンパイル時に矢印関数を使用しない環境: {
            矢印関数: false
        }
    },
    
    //Webpack はパッケージ化時にモジュールを使用する必要があります。module:{
        //ロードするルールを指定します:[{
            // test はルールが適用されるファイル test:/\.ts$/ を指定します。
            // use は使用するローダーです
            //Babelを設定する
            使用:[
                //ローダーを指定する loader: "babel-loader",
                    オプション:{
                        //定義済みの環境プリセットを設定します:[
                            [
                                //環境プラグイン「@babel/preset-env」を指定します。
                                //設定情報{
                                    //互換性のあるブラウザターゲット:{
                                        "クローム":"88"
                                    },
                                    //corejsのバージョンを指定します "corejs":"3",
                                    // オンデマンドでロードすることを意味します "useBuiltIns": "usage"
                                }
                            ]
                        ]
                    }
                },
                'ts-loader'
            ]、
            //パッケージ化およびアップロードされないファイルを設定します exclude: ["/node_modules/"]
        }]
    },
    
    // webpackプラグインを設定する:[
        新しいHtmlWebpackプラグイン({
            // カスタム HTML テンプレート アドレス テンプレート: "./src/index.html"
        })、
        // パッケージ化と起動の前に、dist 内のファイルは自動的にクリアされます。最新のファイルを再生成する方法 new CleanWebpackPlugin()
    ]、
    
    解決する:{
        //tsファイル拡張子:['.ts','.js']に他のtsパッケージを個別に導入する場合のエラーの問題を解決します
    }
}

最後に、package.jsonにパッケージ化と実行スクリプトを記述します。

ターミナルでnpm run build packageを実行し、

パッケージ化が成功すると、distファイルが自動的に生成されます。

npm run start自動的にGoogle Chromeを開き、コンテンツは最新の状態に更新されます。

これで、webpack スキャフォールディングと TypeScript コード パッケージングに関するこの記事は終了です。より関連性の高い webpack TypeScript コード パッケージング コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • TypeScript 列挙の基本と例
  • TypeScript の条件型に関する詳細な読書と実践記録
  • Typescript+React でモバイルと PC でシンプルなドラッグ アンド ドロップ効果を実現
  • ReactプロジェクトでのTypeScriptの実装
  • Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録
  • Vue3 + TypeScript 開発の概要
  • Vue3+TypeScriptは再帰メニューコンポーネントの完全な例を実装します
  • VueでTypeScriptを使用する方法
  • TypeScriptのインデックスシグネチャの理解に関する簡単な説明

<<:  例によるMySql CURRENT_TIMESTAMP関数の分析

>>:  MySQL インデックスの失敗を引き起こす一般的な書き込み方法の概要

推薦する

Jsモジュール化の動作原理とソリューションの詳細な説明

目次1. モジュラーコンセプト2. モジュール化3. モジュール化プロセス1. 通常の記述(グローバ...

Windows 10 Home Edition に Docker for Windows をインストールする

0. 背景ハードウェア: Xiaomi Notebook Air 13/Inter Core i7-...

MySQLデータのエクスポートとインポートに関する知識ポイントの簡単な分析

多くの場合、ローカル データベースのデータをエクスポートしたり、他のデータベースからデータをインポー...

Linux で Tomcat を実行するいくつかの方法の説明

Linux での Tomcat の起動とシャットダウンLinux システムでは、コマンド操作を使用し...

JS のオブジェクトリテラルの詳細な説明

目次序文1. オブジェクト構築にプロトタイプを設定する1.1 __proto__ の使用における特殊...

JavaScriptアニメーション関数のカプセル化の詳細な説明

目次1. アニメーション機能の原理2. アニメーション関数のシンプルなカプセル化3. アニメーション...

iview権限管理の実装

目次iview-admin2.0 組み込み権限管理権限に基づいてコンポーネントの表示を制御するカスタ...

Websocket+Vuexはリアルタイムチャットソフトウェアを実装します

目次序文1. 効果は図の通りです2. 具体的な実施手順1. Vuexの紹介2.webscoked実装...

Postman に基づく HTTP インターフェース テスト プロセスの分析

偶然、素晴らしい人工知能のチュートリアルを発見したので、みんなと共有せずにはいられませんでした。この...

よく使われるLinuxコマンド「ll」が無効、またはコマンドが見つからないという問題を解決します

質問:よく使用されるコマンド「ll」が無効であるか、コマンドが見つかりません理由: 「ll」コマンド...

Linux の fsevents モジュールによって発生する npm ls エラーの解決方法の詳細な説明

Mac で開発されたプロジェクトがあり、パッケージ npm i がインストールされており、すべて正常...

Vue.js の watch メソッドと computed メソッドの違いの詳細な例

目次序文導入1. 作用機序2. 自然から3. 時計と計算の比較4. メソッドはデータロジックの関係を...

uniappとvueの違いの詳細な説明

目次1. シンプルなページの例2.uni-appはvueコンポーネントとミニプログラムネイティブコン...

ページのスクロールバーを無効にするには、overflow: hiddenを使用します。

コードをコピーコードは次のとおりです。 html {オーバーフロー: 非表示; }体{オーバーフロー...

Dockerコンテナ内のホストのホスト名が取得できない問題の解決方法

Node.js環境でテストが通っています。他の言語でも同様です。環境変数を取得する方法を使うだけです...