Maison  >  Questions et réponses  >  le corps du texte

javascript - La valeur de sortie du module ES6 Loading Export est un peu floue


Pourquoi cette erreur est-elle signalée ?


Pourquoi est-ce que ça va ? Quelle est la fonction de ces accolades ? Est-ce la syntaxe ?

淡淡烟草味淡淡烟草味2662 Il y a quelques jours851

répondre à tous(3)je répondrai

  • 怪我咯

    怪我咯2017-07-05 10:55:10

    Avant la sortie de la norme es6, tout ce qui était exporté était ce qui était requis.

    Prenons nodejs comme exemple

    // ./fk.js
    export 'fk';
    
    // ./main.js
    var fk = require('./fk');
    console.log(fk); // output "fk"

    Écoutez, ce n'est pas du tout "modulaire". Puisque le module est importé, il devrait avoir des valeurs, des fonctions, des voitures, des ânes et des hot pots.

    Que faire ?
    L'étiquette stipule que tout contenu exporté doit avoir un "nom". Vous pouvez également lui donner un alias, mais il doit quand même avoir un nom !

    La première façon de choisir un nom

    export var/let/const 名字=值

    Deuxième méthode de dénomination

    var/let/const 变量=值
    export {变量} 或 export {变量 as 别名}

    La troisième façon de choisir un nom

    export default 值

    La raison pour laquelle la deuxième méthode de la première image signale une erreur est que vous n'avez pas besoin de la mettre entre accolades lors de la compilation, mJe ne sais pas comment elle s'appelle. est appelé, vous n'avez pas de nom. Si vous ne parvenez pas à trouver un nom, vous ne pouvez pas exporter.

    Fin.

    répondre
    0
  • typecho

    typecho2017-07-05 10:55:10

    Voir l'export de la documentation sur MDN

    Il n'y a que quelques formulaires au total

    export { name1, name2, …, nameN };
    export { variable1 as name1, variable2 as name2, …, nameN };
    export let name1, name2, …, nameN; // also var
    export let name1 = …, name2 = …, …, nameN; // also var, const
    
    export default expression;
    export default function (…) { … } // also class, function*
    export default function name1(…) { … } // also class, function*
    export { name1 as default, … };
    
    export * from …;
    export { name1, name2, …, nameN } from …;
    export { import1 as name1, import2 as name2, …, nameN } from …;

    Les deux formulaires que vous avez rédigés ne sont pas inclus... Pour la signification spécifique de chaque formulaire, veuillez lire le document !

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-07-05 10:55:10

    https://developer.mozilla.org...

    Pour ce genre de problème, il suffit de lire directement le document. Et n'avez-vous pas pris cette photo de l'article de Ruan Yifeng ? Le texte original contient des instructions claires

    Il est important de noter que la commande export spécifie l'interface externe et doit établir une correspondance biunivoque avec les variables à l'intérieur du module.

    Les deux méthodes d'écriture ci-dessus signaleront des erreurs car aucune interface externe n'est fournie. La première façon d'écrire directement en sortie 1, et la deuxième façon d'écrire directement en sortie 1 via la variable m 1 n'est qu'une valeur, pas une interface.

    répondre
    0
  • Annulerrépondre