Après avoir compilé mon projet TypeScript avec succès, j'avais l'intention de l'exécuter en mode débogage de VS Code en utilisant ts-node
. Le problème est, ts-node
ne trouve pas d.ts
fichiers que j'ai créés (tandis que tsc
n'a aucun problème avec).
La structure du projet est:
/
conf/
dist/
src/
types/
package.json
tsconfig.json
tsconfig.json
les entrées pertinentes sont:
{
"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/**/*"
]
}
Le fichier de définition ts-node
ne peut pas trouver est src/types/global.d.ts
:
import { App } from '../App';
declare global {
namespace NodeJS {
interface Global {
app: App;
}
}
}
Donc, en essayant de l'exécuter avec ts-node
Je vois:
TSError: ⨯ Unable to compile TypeScript:
src/boot.ts(15,59): error TS2339: Property 'app' does not exist on type 'Global'.
Comment le résoudre globalement? J'ai trouvé que /// <reference path="./types/global.d.ts" />
fait l'affaire mais je devrais le répéter dans chaque fichier en utilisant global.app
.
Ma version TypeScript est 3.0.1
ts-node --files src/boot.ts
ts-node dans 7.0.0, par défaut ne charge pas les fichiers depuis tsconfig.json
au démarrage, vous devez spécifier --files