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 テーブルタグチュートリアル (13): 内部境界スタイル属性ルール

RULES を使用すると、テーブルの内部境界のスタイルを制御できます。基本的な構文<TABLE...

NodeJSとブラウザにおけるこのキーワードの違い

序文JavaScript を学習した人なら誰でも、さまざまな環境で this がどこを指すかという問...

Docker ベースの Jenkins のデプロイに関する詳細なチュートリアル

このドキュメントを作成した当時は2019年12月頃で、er2.200が最新バージョンでした。 1.画...

Vueはデジタル千単位区切り形式をグローバルに実装します

この記事の例では、Vue がデジタル 3 桁区切り形式をグローバルに実装するための具体的なコードを参...

VMwareでCentOSがインターネットにアクセスできない問題を素早く解決

昨日、VMware に CentOS7 をインストールしました。Tomcat パッケージを転送するた...

ES6分解課題の原理と応用

目次配列分割代入オブジェクトの分解代入分割割り当ての適用変数の値の交換関数から複数の値を返すマップ構...

Vue 初心者ガイド: 最初の Vue-cli スキャフォールディング プログラムの作成

1. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...

2つのウェブサイトページ翻訳プラグインの共有

TranslateThis URL: http://translateth.is Google 翻訳...

Vue は動的なプログレスバー効果を実現します

この記事では、動的なプログレスバー効果を実現するためのVueの具体的なコードを例として紹介します。具...

Windows Server 2019 のセットアップ方法 (画像とテキスト付き)

1. Windows Server 2019 のインストールVmware に Windows Se...

XHTML CSS ページをプリンタ ページに変換する

<br />これまで、Web ページのプリンタ対応バージョンを作成するには、印刷したとき...

Apache POIの基本的な使い方の詳しい説明

目次基本的な紹介入門テスト (Excel ファイルからのデータの読み取り)ステップ1: Maven座...

Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順

1. [admin@JD ~]$ cd opt #ルートディレクトリにoptと入力2. [admin...

Docker プライマリ ネットワーク ポート マッピング構成

ポートマッピングDocker コンテナを起動する前にポート マッピングを行わないと、コンテナ外部のネ...