JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 6 · Exercice de TD
Imports fautifs
Classes et modules · niveau 2
Énoncé
Le module prix.mjs exporte la fonction nommée enEuros ; le module livre.mjs exporte par défaut la classe Livre. Le programme suivant ne démarre pas. Trouver les trois erreurs, dans l'ordre où Node les signale quand on les corrige une à une, puis corriger.
import { Livre } from "./livre.mjs";
import enEuros from "./prix";
const l = new Livre("Le Petit Prince", 8.5);
console.log(l.etiquette(), enEuros(17));Corrigé
Node résout tous les imports avant d'exécuter la moindre ligne, et s'arrête à la première erreur :
"./prix": le fichierprixn'existe pas (ERR_MODULE_NOT_FOUND) ; l'extension est obligatoire,"./prix.mjs".{ Livre }demande un export nomméLivre, qui n'existe pas ; l'export par défaut s'importe sans accolades. Le message :
SyntaxError: The requested module './livre.mjs' does not provide
an export named 'Livre'
import enEuros from ...demande l'export par défaut deprix.mjs, qui n'en a pas :does not provide an export named 'default'.
import Livre from "./livre.mjs";
import { enEuros } from "./prix.mjs";
const l = new Livre("Le Petit Prince", 8.5);
console.log(l.etiquette(), enEuros(17));
Le Petit Prince — 8,50 € 17,00 €100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.