Ce repository a été conçu comme la base de ce que sera votre projet Express.js une fois le cours terminé. Prenez soin de lire chaque étape et ne manquez pas de feuilleter les pages de documentation qui vous sont partagées.
- Télécharger puis installer Node.js (LTS, i.e. Long-Term Support)
- Installer le package TypeScript globalement à l'aide de npm :
npm install -g typescript
Ressources :
- Créer un dossier VIDE en local sur sa machine
- Initialiser le projet à la racine (donc dans le dossier que l'on vient de créer) avec npm :
npm init -y # Génère un fichier package.json
- Initialiser TypeScript au sein du projet :
tsc --init # Génère un fichier tsconfig.json
Ressources :
Pour utiliser Express.js mais aussi pour formatter notre code ou même le tester, il nous faut des packages externes. Certains de ces packages ne sont utiles que dans le cadre du développement, tandis que d'autres sont utiles même en production :
- on appelle dependencies les dépendances essentielles au fonctionnement du projet en production
- on appelle dev dependencies les dépendances nécessaires uniquement au développement du projet
Ce projet dépend initialement de deux dependencies :
dotenv
sert à charger des variables d'environnement à partir d'un fichierexpress
sert à créer des applications web de manière simple et rapidebody-parser
sert à analyser le corps des requêtes HTTP reçues par le serveur
Côté développement, nous allons avoir besoin de plusieurs dev dependencies :
ts-node-dev
sert à compiler les fichiers TypeScript à la volée et en continujest
est un framework de test qui permet d'écrire et d'exécuter des tests en JavaScriptts-jest
sert à tester des fichiers TypeScript via l'utilisation dejest
prettier
(optionnel) sert à appliquer des règles de formatage cohérentes à votre code
Sans oublier tous les packages préfixés par @types
: @types/express
, @types/node
, @types/jest
et @types/body-parser
. Ces packages spéciaux fournissent des informations de typage pour des packages JavaScript qui ne sont pas écrits en TypeScript nativement.
Pour installer tous ces packages, utilisez les commandes suivantes :
npm install dotenv express body-parser
npm install -D ts-node-dev jest ts-jest prettier @types/express @types/node @types/jest @types/body-parser
Ressources :
- dotenv
- express
- body-parser
- ts-node-dev
- jest
- ts-jest
- prettier
- @types/express
- @types/node
- @types/jest
- @types/body-parser
Toujours un peu pénible de tout configurer mais en fin de compte c'est très rapide, don't worry.
Ouvrez votre tsconfig.json
puis décommentez la ligne outDir
pour la modifier :
"compilerOptions": {
"outDir": "./dist",
}
Ouvrez votre package.json
et ajoutez une ligne à l'objet scripts
:
"scripts": {
"dev": "npx ts-node-dev src/app.ts",
}
- Ouvrez votre
package.json
et remplacez la lignetest
de l'objetscripts
:
"scripts": {
"test": "jest --passWithNoTests",
}
- Créez un fichier
jest.config.js
à la racine de votre projet :
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
testPathIgnorePatterns: ['/dist/'],
verbose: true,
};
- Créez un fichier
.prettierrc
à la racine de votre projet avec la configuration suivante :
{
"singleQuote": true,
"tabWidth": 4,
"trailingComma": "all"
}
- Ouvrez votre
package.json
et ajoutez une ligne à l'objetscripts
:
"scripts": {
"format": "prettier --write \"src/**/*.ts\"",
}
Il est temps de concrétiser tout ce bazar et d'écrire nos premières lignes de code.
- Créez un dossier
src
à la racine de votre projet et ajoutez-y un fichierapp.ts
:
import express from 'express';
const app = express();
const port = 3000;
app.listen(port, () => console.log(`> Listening on port ${port}`));
- Dans votre terminal utilisez la commande suivante :
npm run dev # Exécute le script 'dev' de l'objet 'scripts'
- Vous devriez avoir un output à peu près ressemblant à celui-ci :
[INFO] 16:52:33 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.9.1, typescript ver. 5.1.6)
> Listening on port 3000
Félicitations ! 🥳🎉 Vous avez créé votre application back-end !