Projet très simple, pas de tsconfig.json en utilisant simplement la ligne de commande:
tsc --jsx react --target es6 --lib dom src/lib/Fetch.tsx
et j'obtiens les erreurs suivantes et je ne comprends pas pourquoi, ces types sont littéralement définis partout, et spécifiquement dans lib.es6.d.ts qui est je crois inclus par --target es6
error TS2318: Cannot find global type 'Array'.
error TS2318: Cannot find global type 'Boolean'.
error TS2318: Cannot find global type 'Function'.
error TS2318: Cannot find global type 'IArguments'.
error TS2318: Cannot find global type 'Number'.
error TS2318: Cannot find global type 'Object'.
error TS2318: Cannot find global type 'RegExp'.
Faire installer les dépendances suivantes
"dependencies": {
"@types/react-dom": "^16.0.6",
"@types/react": "^16.3.16",
"react": "^16.4.0",
"react-dom": "^16.4.0"
},
"devDependencies": {
"@types/node": "^10.3.1",
"TypeScript": "^2.9.1"
}
RÉSOLU
Compris mon problème. Ayant TypeScript installé localement, mais exécutait la version mondiale installée et plus ancienne TypeScript. Lorsque j'ai exécuté tsc via des scripts npm, il se compile avec la commande suivante:
tsc --jsx react --target es6 --module commonjs src/lib/Fetch.tsx
dom
contient uniquement les définitions des éléments DOM spécifiques au navigateur. Vous devez inclure l'un des es*
bibliothèques qui inclut les types de base es nécessaires à la compilation. Une fois que vous avez spécifié un --lib
option vous devez inclure tous les types nécessaires, le compilateur n'inclura plus aucune bibliothèque basée sur votre cible:
tsc --jsx react --target es6 --lib es2015,dom src/lib/Fetch.tsx
Ou si vous n'utilisez pas simplement les bibliothèques par défaut, vous pouvez simplement omettre complètement l'option:
tsc --jsx react --target es6 src/lib/Fetch.tsx