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.
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 !
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.
Avant la sortie de la norme es6, tout ce qui était exporté était ce qui était requis.
Prenons nodejs comme exemple
É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
Deuxième méthode de dénomination
La troisième façon de choisir un nom
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,
m
Je 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.
Voir l'export de la documentation sur MDN
Il n'y a que quelques formulaires au total
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 !
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