nodejs + koa + typescript の統合と自動再起動に関する問題

nodejs + koa + typescript の統合と自動再起動に関する問題

バージョンノート

Node.js: 16.13.1

プロジェクトを作成する

次のディレクトリ構造を作成します

プロジェクト
├── 出典
│ └── server.ts
├── package.json
└── tsconfig.json

package.json yarn init -yを使用して生成できます。
tsconfig.json tsc --initを使用して生成できます ( tscコマンドを使用するには、 typescriptパッケージをグローバルまたはプロジェクトにインストールする必要があります)

依存関係をインストールする

知らせ:

  • @tsconfig/node16パッケージは、 Node.jsのバージョンに応じて変更する必要があります。私のコンピュータにインストールされているバージョンは16.xxなので、 @tsconfig/node16を使用します。詳細については、 tsconfig/bases の説明を参照してください。もちろん、このパッケージをインストールする必要はありません。このパッケージの利点は、公開されており、主流の推奨構成であることです。
  • typescriptがグローバルにインストールされている場合は、以下のコマンドから削除します。
  • 同時実行は複数のコマンドを同時に実行するためのツールキットです
  • nodemonはファイルの変更を監視し、プログラムを自動的に再起動するツールキットです。
糸 コアを追加
yarn を typescript に追加します @tsconfig/node16 @types/node @types/koa 同時に nodemon -D

コンテンツの記入

src/server.ts

'koa' から Koa をインポートします。

const サーバー: Koa = new Koa();
定数ポート: 番号 = 3000;

server.use((ctx: Koa.DefaultContext) => {
    ctx.body = 'こんにちは、コア';
});

server.listen(ポート, () => {
    console.log(`Node.js v${process.versions.node}`);
});

tsconfig.json

注: extendsフィールドの値は@tsconfig/node**インストールしたパッケージ名に応じて置き換えられます。

{
  "拡張": "@tsconfig/node16/tsconfig.json",
  "コンパイラオプション": {
    "ベースURL": ".",
    "ルートディレクトリ": "src",
    "outDir": "dist",
    "noImplicitAny": true、
  },
  "含む": [
    "ソース/**/*"
  ]
}

パッケージ.json

「スクリプト」: {
  "ビルド-ts": "tsc",
  "ビルド": "yarn build-ts",
  "デバッグ": "yarn ビルド && yarn watch-debug",
  "serve-debug": "nodemon --inspect dist/server.js",
  "サーブ": "ノードdist/server.js",
  「開始」: 「ヤーンサーブ」、
  "watch-debug": "同時に -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:serve-debug\"",
  "ウォッチノード": "nodemon dist/server.js",
  "ウォッチ-ts": "tsc -w",
  "watch": "同時に -k -p \"[{name}]\" -n \"TypeScript、Node\" -c \"yellow.bold、cyan.bold、green.bold\" \"npm:watch-ts\" \"npm:watch-node\""
}

走る

すべてのソースコードはsrcディレクトリにあり、 tscによってコンパイルされたjsファイルはtsconfig.jsonファイルで指定されたパスであるdistディレクトリにあります。

ローカル開発: distディレクトリがない場合は、 yarn buildを実行してコンパイルおよび生成し、 yarn watchを実行する必要があります。

デプロイメントプロダクション: yarn buildyarn serve 、またはyarn startを順番に実行します (serve と start は同じコマンドです)

参考文献

microsoft/TypeScript-Node-Starter

これで、nodejs + koa + typescript の統合と自動再起動に関するこの記事は終了です。関連する nodejs koa typescript コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援してください。

以下もご興味があるかもしれません:
  • nodejs+koa2はspringMVCフレームワークの模倣を実装します
  • Koa (nodejs フレームワーク) に基づいて json ファイルを追加、削除、変更、およびチェックするためのサンプル コード
  • koa-log4 を使用して nodeJs ログ ノートを管理する方法
  • Typescript nodejs 依存性注入実装コードの詳細な説明

<<:  after疑似要素を使用して中空の三角矢印とXアイコンを実装する例

>>:  中国語と英語のフォント名の比較表(FounderとArphicを含む)

推薦する

HTML ドラッグ アンド ドロップ機能の実装コード

Vueベースこの機能の核となるアイデアは、JavaScript コードを通じてページ上のノードの左余...

Ubuntu環境にAnaconda3をインストールするための完全な手順

目次Anaconda の紹介1. ダウンロード1.1 インストールパッケージを保存するフォルダを作成...

MySQL データベース トランザクション例のチュートリアル

目次1. トランザクションとは何ですか? 2. トランザクションに関連するステートメントは、挿入、削...

非常に優れた CSS スキル 10 選のコレクションと共有

ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...

vue3で注意すべき2つのポイントを詳しく解説:セットアップ

目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...

ウェブサイトのコードブロックのpreタグにコピーコードボタンコードを追加します

他のよりプロフェッショナルなブログ システムを参照すると、コード ブロックにコードのコピー ボタンが...

シンプルなナビゲーションバー機能を実現するHTML+CSS

さっそく、コードを見てみましょう(初心者:特に言うことはありません) <!DOCTYPE ht...

CSSを使用して中央に固定された2つの列と適応型列を実現する方法

1. 絶対位置とマージンを使用するこの方法の原則は、左側と右側をドキュメントの流れから外れるように配...

MySQL の悲観的ロックと楽観的ロックの使用例

悲観的ロック悲観的ロックは、データを悲観的であるとみなします。データをクエリするときに、ロックを追加...

Docker Compose マルチコンテナデプロイメントの実装

目次1. WordPressの導入1. 環境を整える(II) イメージを実行するDocker の作成...

Serv-U FTPとADの完璧な統合ソリューションの詳細な説明

会社が現在使用しているソリューションを確認するためにバックエンドにログインしました。使用される FT...

背景位置パーセンテージ原則の詳細な説明

今日、誰かがコードを調整するのを手伝っていたとき、次のようなスタイルを見つけました。 背景位置: 5...

InnoDB エンジンの redo ファイルのメンテナンス方法

InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...

【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...

JavaScript の実行コンテキストとコールスタックの詳細な説明

目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...