web-dev-qa-db-fra.com

quel est le but de tsconfig.json?

Je lisais des références angular2 et trouve ce tsconfig.json. J'aimerais savoir ce que les paramètres suivants signifient?

{
    "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
    },
    "exclude": [
    "node_modules"
    ]
}
17
Bhushan Gadekar

Le fichier tsconfig.json correspond à la configuration du compilateur TypeScript (tsc).

Ces liens peuvent vous donner des détails sur ces attributs:

Voici quelques astuces:

  • target: la langue utilisée pour la sortie compilée
  • module: le gestionnaire de module utilisé dans la sortie compilée. system est pour SystemJS, commonjs pour CommonJS.
  • moduleResolution: stratégie utilisée pour résoudre les fichiers de déclaration de module (fichiers .d.ts). Avec l'approche node, ils sont chargés à partir du dossier node_modules comme un module (require('module-name'))
  • sourceMap: génère ou non des fichiers de mappe pour déboguer directement les fichiers TypeScript de votre application dans le navigateur,
  • emitDecoratorMetadata: émet ou non des métadonnées de type conception pour les déclarations décorées dans le source,
  • experimentalDecorators: active ou non le support expérimental pour les décorateurs ES7,
  • removeComments: supprime les commentaires ou non
  • noImplicitAny: autorise ou non l'utilisation de variables/paramètres sans types (implicite)
22
Thierry Templier

tsconfig.json signifie que le répertoire dans lequel il est conservé est la racine du projet TypeScript. Le fichier tsconfig.json spécifie les fichiers racine et les options du compilateur requises pour compiler le projet.

Le compilateur doit s’exécuter selon les configurations mentionnées:

"target": "es5" => compilera les es6 à es5 pour en faire des navigateurs compatibles.

"module": "système" => spécifie les générations de code de module (commonjs ',' AMD ',' système ',' umd ',' es6 'etc.)

"moduleResolution": "node" => Déterminez comment les modules sont résolus

"sourceMap": true => Génère le fichier ‘.map’ correspondant afin qu’il puisse être utilisé dans le code de production pour le débogage.

"removeComments": false => Supprime tous les commentaires sauf les commentaires d'en-tête de droit d'auteur commençant par/*!

"noImplicitAny": false => Déclenche une erreur sur les expressions et les déclarations avec un type implicite "tout".

Si la propriété "exclude" est spécifiée, le compilateur inclut tous les fichiers TypeScript (* .ts ou * .tsx) du répertoire contenant et des sous-répertoires, à l'exception des fichiers ou des dossiers exclus.

4
Soumya

Il y a déjà beaucoup de réponses, mais je voudrais ajouter un autre point sur la raison pour laquelle tsconfig est nécessaire. Selon docs angulaire

TypeScript est un langage de base pour le développement d'applications Angular . Il s'agit d'un sur-ensemble de JavaScript prenant en charge le type .__ au moment du design. sécurité et outillage.

Les navigateurs ne peuvent pas exécuter TypeScript directement. TypeScript doit être "transpilé" en JavaScript à l'aide du compilateur tsc, qui nécessite une configuration.

En règle générale, vous ajoutez un fichier de configuration TypeScript appelé tsconfig.json à votre projet pour guider le compilateur lors de la génération des fichiers JavaScript.

Pour plus d'informations https://angular.io/guide/TypeScript-configuration

1
Hameed Syed

le fichier tsconfig indique le projet en tant que projet TypeScript et inclut des options sur la manière de compiler les fichiers TypeScript. Pour plus d'informations, consultez le site https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

1
AishApp