Créer une application node.js v14 avec typescript et ts-node

AprÚs de moultitudes essais, vous peinez toujours à trouver comment exécuter votre application node.js, développée en typescript.

Préparation de votre projet

Voici les étapes initiales :

  1. Installation de typescript : npm install -g typescript
  2. Ajout d’un package.json : npm init -y
  3. Installation des types pour node : npm i @types/node –save-dev
  4. Ajout d’un tsconfig.json : npx tsc –init
  5. Installation de ts-node-dev pour compiler vos fichiers typescript et lancer node sur ces fichiers.

 

Configuration du fichier tsconfig.json

Pour que tout fonctionne, améliorez la configuration de votre tsconfig.json pour :

  • Prendre en compte les types de dĂ©claration pour node
  • GĂ©nĂ©rer dans un dossier donnĂ©
  • Exclure le dossier node_modules.

Ca nous donne ce fichier :

{
« compilerOptions »: {
« target »: « ES2017 »,
« module »: « ESNext »,
« outDir »: « dist »
},
« files »: [
« ./node_modules/@types/node/index.d.ts »
],
« include »: [
« src/**/*.ts »
],
« exclude »: [
« node_modules »
],
« ts-node »: {
// these options are overrides used only by ts-node
// same as our –compilerOptions flag and our TS_NODE_COMPILER_OPTIONS environment variable
« compilerOptions »: {
« module »: « commonjs »
}
},
}
  • Voir le fichier gist.
  • Modification de votre fichier package.json

  • Maintenant, pour bien utiliser npm, ajouter une commande pour prendre ts-node-dev et le lancer sur nos fichiers typescript directement.
  • « scripts »: {
        « tsc »: « tsc »,
        « ts-node-dev »: « ts-node-dev »,
        « build »: « tsc »,
        « dev »: « ts-node-dev src/main.ts »
    }
    Un exemple complet avec notre gist du package.json.

    DerniÚre étape : type module

  • Pensez Ă©galement Ă  complĂ©ter votre package.json en ajoutant : type= »module ».
  • Ca vous permettra de prendre en compte les ES2015 module.

And voilà ! 🙂

Notre adresse

1 rue du guesclin
44000 Nantes

Notre téléphone

+33 2 79 65 52 87

Société

DevToBeCurious SARL
84860163900018 - Nantes B 848 601 639