Je ne suis pas en mesure d'utiliser la même instance d'un objet dans un autre fichier Java-script à l'aide de NDEJS.
Je travaille sur un bot pour le télégramme. Parce que le fichier devient grand et chaotique, je voudrais diviser les fonctions de mon bot en quelques fichiers JS supplémentaires. Mais je ne sais pas comment partager la même instance d'un objet entre plusieurs fichiers JavaScript. p>
3 Réponses :
Pourrait-il être qu'il y a une faute de frappe à la ligne 2? Devrait être
myawesomeBot pas myawseomeBot.
Merci. Bon oeil. Mais non, la typo n'est que parce que j'ai changé le nom ici dans le débordement de la pile à quelque chose de plus générique.
Avez-vous vérifié que Ballbot a été défini? Essayez de retirer les supports lorsqu'il nécessite le fichier principal. Je suggère également d'utiliser le modèle Singleton si vous souhaitez partager la même instance sur votre code. p>
Il n'est pas montré dans votre code ici, mais vous avez probablement une dépendance cyclique, où un La solution la plus simple pertinente pour votre cas d'utilisation est de définir les commandes em> et et pour votre bot dans des fichiers supplémentaires, et laissez votre fichier de bot l'attacher / les consommer: p> < H3> 8Ball.js h3> Il y a probablement d'autres méthodes de classe de bot plus adaptées à la fixation générique Les manipulateurs d'événements / auditeurs, ainsi que d'autres méthodes de spécification de vos exportations de module, mais l'idée est que vos fichiers de commande n'ont pas besoin d'importer le fichier de bot. Je n'ai pas étudié l'API TELREGRAM BOT afin qu'il puisse avoir une manière de déléguer l'instance de Bot lorsqu'il attache un gestionnaire d'événements. Si oui, utilisez-le! P> p> nécessite code> s b, et b
exiger code> s A.
main.js h3>
Dépendance à l'importation cyclique. Un requis B, B nécessite une, votre application est mal conçue
Vous avez raison, je suis toujours nouvelle programmation orientée objet. Mais comment dois-je le concevoir alors? Je veux dire bien sûr huitball.js a besoin de main.js et vice versa. Comment devrais-je faire votre suggestion? Ecrivez tout dans un grand fichier?
Non, huitball n'a pas besoin de main. Il devrait mettre en œuvre un gestionnaire et principal devrait attacher ce gestionnaire à tout événement dont il a besoin