ES6 ne remplace-t-il pas le noeud require ()? J’ai le code suivant:
var sprintf = require("sprintf-js").sprintf;
Cela fonctionne comme annoncé. Je peux juste utiliser sprintf (). J’aimerais accomplir la même chose en utilisant les instructions d’importation ES6:
import sprintf from 'sprintf-js';
Cela ne fonctionne pas. Pourquoi pas? Comment puis-je le réparer? Points bonus si vous pouvez expliquer le fonctionnement des exportations dans sprintf-js.
Vous pouvez accéder aux exportations de modules de plusieurs manières. Voir l’article de MDN.
import defaultMember from "module-name"; import * as name from "module-name"; import { member } from "module-name"; import { member as alias } from "module-name"; import { member1 , member2 } from "module-name"; import { member1 , member2 as alias2 , [...] } from "module-name"; import defaultMember, { member [ , [...] ] } from "module-name"; import defaultMember, * as name from "module-name"; import "module-name";
Dans ce cas, votre syntaxe fonctionnerait si vous aviez affecté l’exportation default
à sprintf
; si vous aviez assigné sprintf
à l’object default
.
En supposant que ce ne soit pas le cas, une syntaxe correcte incorporerait des références à la méthode exscope entre accolades.
import { sprintf } from 'sprintf-js';