===== 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