README
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.
Environnement de développement
- 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 :
Setup du projet
Initialisation
- Créer un repository sur GitHub puis le cloner
- Initialiser le projet à la racine 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 :
Dépendances
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 fichier -
express
sert à créer des applications web de manière simple et rapide
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 continu -
jest
est un framework de test qui permet d'écrire et d'exécuter des tests en JavaScript -
ts-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
et @types/jest
. 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
npm install -D ts-node-dev jest ts-jest prettier @types/express @types/jest @types/node
Ressources :
Configuration
Toujours un peu pénible de tout configurer mais en fin de compte c'est très rapide, don't worry.
TypeScript
Ouvrez votre tsconfig.json
puis décommentez la ligne outDir
pour la modifier :
"compilerOptions": {
"outDir": "./dist",
}
ts-node-dev
Ouvrez votre package.json
et ajoutez une ligne à l'objet scripts
:
"scripts": {
"dev": "npx ts-node-dev src/app.ts",
}
Jest
- Ouvrez votre
package.json
et ajoutez une ligne à 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,
};
Prettier (optionnel)
- 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\"",
}
Notre application
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 !