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を含む)

推薦する

MySQL で誕生日から年齢を計算する複数の方法

以前はMySQLをあまり使用していなかったため、MySQLの機能にあまり詳しくありませんでした。この...

Tomcatのクラスロードメカニズムを説明する記事

目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...

Vue3 コンパイルプロセス - ソースコード分析

序文: Vue3 がリリースされてからかなり経ちますが、最近、会社のプロジェクトでVue3 + Ty...

ろうそくを溶かす(水滴)サンプルコードを実現する純粋な CSS

成果を達成する実装のアイデアフィルターのコントラストとぼかしを利用して溶ける効果を実現します。親要素...

MySQLデータベースをアンインストールするための完全な手順

MySQLデータベースを完全にアンインストールするプロセスは次のとおりです。 1. MySQLサービ...

Docker Compose のサイドカーモードの詳細な説明

目次Docker Composeとは要件に不適切な言語が使用されている実装Docker Compos...

VMware Workstation のインストール Linux システム

始める段階から初心者になるまで、Linux オペレーティング システムは不可欠です。最初のステップは...

Nginx でバージョン番号を隠したり偽造したりする方法

1. デフォルトでアクセスするには、curl コマンドを使用します。 # curl -I http:...

MySQLはbinlogを通じてデータを復元する

目次MySQL ログファイルバイナリログBinlogログがオンになっていますログ記録を有効にする方法...

MySQLトリガートリガー例の詳細な説明

目次トリガーとは何かトリガーを作成する表は次のようになります。さらにいくつかの単語を挙げます。制限と...

Apple M1チップにnginxをインストールし、vueプロジェクトをデプロイする詳細な手順

nginx をインストールApple Mac ではインストールに brew を使用します。brew ...

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...

ウェブ開発で遭遇した問題と経験

<br />以下は開発中に遭遇した問題と、そこから得た経験です。デバッグに時間がかかりま...

Vueモバイル端末の適応化問題の詳細説明

1. vue uiでプロジェクトを作成する 2. 基本設定項目を選択する 3. プロジェクトを実行す...

clipboard.js の使用法の概要

目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...