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で下線を設定するには?HTMLでテキストに下線を付ける方法

HTML で下線を引くには、以前はテキストを <u></u> タグで囲む必要...

Vueはドラッグアンドドロップを使用して構造ツリーを作成します

この記事の例では、ドラッグアンドドロップを使用して構造ツリーを作成するVueの具体的なコードを共有し...

DIV の一般的なタスク (パート 1) — 一般的なタスク (スクロール バーの表示、div の非表示、イベント バブリングの無効化など)

最も一般的に使用されるレイアウト要素として、DIV は Web 開発において重要な役割を果たします。...

Linux を使用して時間指定ファイルが占有するディスク容量を計算する方法

スケジュールされたタスク エディターを開きます。Cent は、デフォルトで vim を使用して直接開...

rpm を使用して指定されたバージョンの docker (1.12.6) をインストールする詳細な手順

1. 理由システムが Centos7.3 の場合、yum install docker を使用して直...

better-scrollプラグインのスライドできないバグについて(2021年プラグインで解決)

より良いスクロールの原則親コンテナーであるため、ラッパーの高さはコンテンツのサイズに応じて増加します...

3つのDocker Nginxログの処理の詳細な説明

社内の同僚は Nginx ログの標準出力、つまりコンソール経由の処理を必要としているため、まずログを...

mysql+mybatisはストアドプロシージャ+トランザクション+複数同時シリアル番号取得を実装します

データベースストアドプロシージャ`generate_serial_number_by_date` が...

Docker Compose の実践とまとめ

Docker Compose は、Docker コンテナ クラスターのオーケストレーションを実現しま...

Expressはログイン認証を実装

この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...

Linux で Hadoop クラスターをインストールするための詳細な手順

目次1. usrディレクトリにHadoopディレクトリを作成し、インストールパッケージをそのディレク...

MySql5.7.21 インストールポイント記録メモ

ダウンロードしたバージョンは、Zip 解凍版、Windows システムです。長い間 Windows ...

Nginx ロケーション設定のチュートリアル (ゼロから)

基礎位置の一致順序は、「最初に正規表現に一致し、次に共通表現に一致」です。実際のロケーションの一致順...

Vue は div の高さをドラッグ可能にします

この記事では、divのドラッグ可能な高さを実現するためのVueの具体的なコードを参考までに共有します...