===== Installer un environnement de développement nodejs ===== ==== Télécharger et installer nodejs ===== * [[https://nodejs.org/fr|nodejs]] ==== Créer un projet Typescript ==== === Projet minimal === * Initialiser le projet : mkdir project cd project npm init -y npm install typescript --save-dev npm install @types/node --save-dev npx tsc --init --rootDir src --outDir build \ --esModuleInterop --resolveJsonModule --lib es6 \ --module commonjs --allowJs true --noImplicitAny true * Minimiser le contenu de **tsconfig.json** qui peut se contenter de : { "compilerOptions": { "target": "es5", "module": "commonjs", "lib": ["es6"], "allowJs": true, "outDir": "build", "rootDir": "src", "strict": true, "noImplicitAny": true, "esModuleInterop": true, "resolveJsonModule": true } } * Créer le programme principal **src/main.ts** : console.log('Hello, World!') == Compiler et exécuter le projet == tsc node build/main.js === Projet avec scripts npm === * Configure des fonctions génériques de compilation, développement, mise en production :\\ Modifier packages.json avec un éditeur de texte pour y ajouter cette section : "scripts": { "build": "tsc", "prod": "tsc && node ./build/app.js" } == Compiler et exécuter le projet == npm run build npm run run === Recompilation temps-réel prendant le développement === * Installer les outils nécessaires npm install --save-dev ts-node nodemon * Configurer le fichier nodemon { "watch": ["src/"], "ext": ".ts,.js", "ignore": [], "exec": "npm run run" } * Ajouter le script npm **dev** dans la section **"scripts"** du fichier **packages.json** : "scripts": { "build": "tsc", "dev": "nodemon", "run": "tsc && node ./build/main.js" } == Compiler, exécuter, recompiler automatiquement à chaque modification des sources == npm run dev ===== Sources ===== * https://khalilstemmler.com/blogs/typescript/node-starter-project