| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/import | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mai 2018.
* Certaines parties de cette fonctionnalit peuvent bnficier de prise en charge variables.
L'instruction import est utilise pour importer des liens qui sont exports par un autre module. Les modules imports sont interprts en mode strict dans tous les cas. L'instruction import ne peut pas tre utilise dans les scripts embarqus sauf si ceux-ci proviennent de ressources avec type="module".
import exportParDefaut from "nom-module";
import * as nom from "nom-module";
import { export } from "nom-module";
import { export as alias } from "nom-module";
import { export1 , export2 } from "nom-module";
import { export1 , export2 as alias2 , [...] } from "nom-module";
import exportParDefaut, { export [ , [...] ] } from "nom-module";
import exportParDefaut, * as nom from "nom-module";
import "nom-module";
import { toto , truc } from "nom-module/chemin/vers/fichier-non-exporte";
let promesse = import("nom-module");
exportParDefautNom qui fera rfrence l'export par dfaut du module.
nom-moduleLe module depuis lequel importer. C'est souvent un chemin absolu ou relatif vers le fichier .js contenant le module. Certains empaqueteurs peuvent permettre ou requrir l'utilisation de l'extension ; vrifier votre environnement. Seules les String apostrophes simples ou doubles sont autorises.
nomNom de l'objet module qui sera utilis comme un genre d'espace de noms lors de rfrences aux imports.
export, exportNNom des exports importer.
alias, aliasNNoms qui feront rfrence aux imports nomms.
Le paramtre nom est le nom de l'"objet module" qui sera utilis comme un genre d'espace de noms lors de rfrences aux exports. Les paramtres export indiquent les exports nomms individuellement, tandis que la syntaxe import * as nom les importe tous. Ci-dessous d'autres exemples pour clarifier la syntaxe.
Ce qui suit insre monModule dans la porte courante, contenant tous les exports du module dans le fichier situ dans /modules/mon-module.js.
import * as monModule from "/modules/mon-module.js";
Ici, accder aux exports signifie utiliser le nom du module (ici monModule) comme un espace de noms. Par exemple, si le module import ci-dessus incluait un export faireToutesLesChosesIncroyables(), vous l'cririez comme ceci :
monModule.faireToutesLesChosesIncroyables();
tant donn un objet ou une valeur nomm(e) monExport qui est export(e) depuis le module mon-module, soit implicitement (parce que l'intgralit du module est exporte), soit explicitement (en utilisant l'instruction export), ce qui suit insre monExport dans la porte courante.
import { monExport } from "/modules/mon-module.js";
Ce qui suit insre la fois machin et truc dans la porte courante.
import { machin, truc } from "/modules/mon-module.js";
Vous pouvez renommer un export lors de l'importation. Par exemple, ce qui suit insre nomCourt dans la porte courante.
import { nomDExportDeModuleVraimentVraimentLong as nomCourt } from "/modules/mon-module.js";
Importe des exports multiples depuis un module avec des alias commodes :
import {
nomDExportDeModuleVraimentVraimentLong as nomCourt,
unAutreNomDeModuleLong as court,
} from "/modules/mon-module.js";
Importe un module complet pour ses effets de bord seulement, sans importer quoi que ce soit. Ce qui suit excute le code global du module, mais n'importe en fait aucune valeur.
import "/modules/mon-module.js";
Il est possible d'avoir un export par dfaut (que ce soit un objet, une fonction, une classe, etc.). L'instruction import peut alors tre utilise pour importer ces dfauts.
La version la plus simple importe directement le dfaut :
import monDefaut from "/modules/mon-module.js";
Il est galement possible d'utiliser la syntaxe de dfaut avec celles vues ci-dessus (imports d'espaces de noms ou imports nomms). Dans de tels cas, l'import par dfaut devra tre dclar en premier. Par exemple :
import monDefaut, * as monModule from "/modules/mon-module.js";
// monModule utilis comme un espace de noms
ou
import monDefaut, { machin, truc } from "/modules/mon-module.js";
// imports nomms spcifiques
Le mot-cl import peut tre utilis comme une fonction afin d'importer dynamiquement un module (utile lorsqu'on souhaite charger un module selon une condition donne ou faire du chargement la demande). Lorsqu'il est utilis de cette faon, il renvoie une promesse :
import("/modules/mon-module.js").then((module) => {
// Faire quelque chose avec le module
});
On peut utiliser cette forme avec le mot-cl await :
let module = await import("/modules/mon-module.js");
Importation depuis un module secondaire pour aider le traitement d'une requte AJAX JSON.
function getJSON(url, rappel) {
let xhr = new XMLHttpRequest();
xhr.onload = function () {
rappel(this.responseText);
};
xhr.open("GET", url, true);
xhr.send();
}
export function recupererContenuUtile(url, rappel) {
getJSON(url, (donnees) => rappel(JSON.parse(donnees)));
}
import { recupererContenuUtile } from "/modules/fichier.js";
recupererContenuUtile("http://www.example.com", (donnees) => {
faireQuelqueChoseDUtile(donnees);
});
Dans cet exemple, on voit comment charger une fonctionnalit sur une page lorsqu'un utilisateur effectue une certaine action. Ici, lorsque l'utilisateur clique sur un bouton, cela dclenche l'appel d'une fonction dans le module.
const main = document.querySelector("main");
for (const link of document.querySelectorAll("nav > a")) {
link.addEventListener("click", (e) => {
e.preventDefault();
import("/modules/mon-module.js")
.then((module) => {
module.loadPageInto(main);
})
.catch((err) => {
main.textContent = err.message;
});
});
}
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-imports |
exportimport.metaexport et importCette page a t modifie le 22 mai 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |