myesn

myEsn2E9

hi
github

Node.js: v18.x TypeScript + ESM + Strictest の高速な統合

  1. mkdir tests && cd tests
  2. yarn init -y
  3. yarn global add typescript ts-node
  4. yarn add -D @tsconfig/node18-strictest-esm typescript ts-node tslib @types/node concurrently nodemon
    Reference
  5. tsconfig.jsonファイルを作成し、以下の設定を追加します:
    {
      "extends": "@tsconfig/node18-strictest-esm/tsconfig.json",
      "compilerOptions": {
        "baseUrl": ".",
        "rootDir": "src",
        "outDir": "dist",
        "noImplicitAny": true,
        "removeComments": true,
        "sourceMap": true,
        "module": "CommonJS",
      },
      "include": [
        "src/**/*"
      ]
    }
    
  6. package.jsonファイルに以下のスクリプトを追加します:
"scripts": {
  "dev": "ts-node-esm src/index.ts",
  "build-ts": "tsc",
  "build": "yarn build-ts",
  "debug": "yarn build && yarn watch-debug",
  "serve-debug": "nodemon --inspect dist/index.js",
  "serve": "node dist/index.js",
  "start": "yarn serve",
  "watch-debug": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:serve-debug\"",
  "watch-node": "nodemon dist/index.js",
  "watch-ts": "tsc -w",
  "watch": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:watch-node\""
}

Note:

  • ts-node は開発環境で ts ファイルをコンパイルせずに実行するためのものです。例:ts-node src/index.ts
  • tsconfig.json の "module": "CommonJS" は、ts-node-esm が ES モジュールの形式でファイルをインポートできるようにするためです。
  • tsconfig.json の "sourceMap": true は、ソースマップを生成し、node dist/index.js を実行した後に src/index.ts をデバッグできるようにするためのものです。ts-node を使用する場合、この設定は必要ありません。

参考:https://www.cnblogs.com/myesn/p/15739730.html

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。