javascript - Deux fichiers JS s'exigent mutuellement
学习ing
学习ing 2017-06-28 09:28:31
0
2
844

Quant aux questions du test écrit que j'ai rencontrées aujourd'hui, donnez-moi quelques réponses s'il vous plaît
A.js et b.js s'exigent l'un de l'autre, vont-ils tomber dans une boucle infinie ? Les résultats peuvent-ils être exportés ? Comment éviter ce problème?

学习ing
学习ing

répondre à tous(2)
迷茫

Il s'agit d'examiner le chargement cyclique des modules JavaScript
Vous pouvez utiliser le mécanisme de module d'es6 pour contourner ce problème. La gestion du "chargement cyclique" par ES6 est fondamentalement différente de celle de CommonJS. ES6 ne se soucie pas du tout de savoir si un "chargement en boucle" se produit, il génère simplement une référence au module chargé. Le développeur doit s'assurer que la valeur peut être obtenue lorsqu'elle est réellement obtenue.

洪涛

Si vous le comprenez littéralement, utilisez uniquement

var b = require('b')

Ensuite, ce problème peut être compris comme un problème de référence circulaire dans CommonJS. L'approche de CommonJS est qu'une fois qu'un module est « chargé en boucle », seule la partie exécutée sera sortie, et la partie non exécutée ne sera pas sortie.

Si vous comprenez conceptuellement la référence circulaire entre deux modules, cela implique également la référence de module d'es6.

import b from 'b'

ES6 ne se soucie pas du tout de savoir si un "chargement en boucle" se produit, il génère simplement une référence au module chargé. Le développeur doit s'assurer que la valeur peut être obtenue lorsque la valeur est réellement obtenue.

Utiliser simplement CommonJs ou simplement utiliser esm (module es6) ne provoquera pas de boucle infinie. Mais cela peut arriver si l’on mélange les deux.

Je recommande le blog de Ruan Yifeng, qui est très bien écrit.
http://www.ruanyifeng.com/blo...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal