1. ホーム
  2. typescript

[解決済み] tsc がプロジェクトのコンパイルに成功すると、ts-node は d.ts ファイルを無視します。

2022-03-01 17:54:07

質問

TypeScriptプロジェクトのコンパイルに成功したので、VS Codeのデバッグモードで実行しようと思い ts-node . 問題は ts-node を見つけることができません。 d.ts を作成したファイル(一方 tsc は問題ありません)。

プロジェクトの構成は。

/
    conf/
    dist/
    src/
        types/
package.json
tsconfig.json

tsconfig.json の関連エントリーがあります。

{
    "compilerOptions": {
        "target": "es2017",
        "module": "commonjs",
        // "lib": [],
        "sourceMap": true,
        "outDir": "dist",
        "rootDir": "src",
        "moduleResolution": "node",
        "baseUrl": ".",
        "paths": {
            "*": [
                "node_modules/*",
                "src/types/*"
            ]
        },
        // "rootDirs": [],
        // "typeRoots": [],
        // "types": [],
    },
    "include": [
        "src/**/*"
    ]
}

定義ファイル ts-node が見つからないのは src/types/global.d.ts :

import { App } from '../App';

declare global {
    namespace NodeJS {
        interface Global {
            app: App;
        }
    }
}

で、実行しようとすると ts-node なるほど。

TSError: ⨯ Unable to compile TypeScript:
src/boot.ts(15,59): error TS2339: Property 'app' does not exist on type 'Global'.

グローバルに解決するには?私が見つけたのは /// <reference path="./types/global.d.ts" /> を使うとうまくいくのですが、すべてのファイルにおいて global.app .

TypeScriptのバージョンは3.0.1です。

解決方法を教えてください。

7.0.0のts-nodeで起動すると、以下のファイルが読み込まれません。 tsconfig.json を起動時に表示します。代わりに、特定の --files このように

ts-node --files src/boot.ts