Une page a importé le js, mais les méthodes qu'elle contient ne peuvent pas être appelées.. (dans le même dossier)
Le code est le suivant html :
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="./AgentGetway.js"></script>
</head>
<body>
<script type="text/javascript">
console.log(AgentStatus['host']);//这个地方说AgentStatus is not defined
</script>
</body>
</html>
Le contenu de js est le suivant :
var AgentStatus={
host :'127.0.0.1'
};
ou :
var AgentStatus=(function(){
return {
host:'127.0.0.1'
}
})()
Je n'arrive pas à l'obtenir, s'il vous plaît, donnez-moi quelques conseils...
Le questionneur veut juste obtenir la référence aux variables globales en js. Une exigence aussi simple ne doit pas nécessairement être modulaire. Il suffit de retarder le temps d'acquisition :
Utilisez la console du navigateur Chrome --network pour voir si votre fichier js est chargé, s'il est chargé, vérifiez s'il y a des erreurs dans la console.
L'essence de ce problème est la modularisation de JS. Il existait de nombreuses solutions auparavant, comme AMD, CMD, requireJS, CommonJS... Il en existe beaucoup en ligne, vous pouvez les rechercher vous-même.
Maintenant, laissez-moi vous parler des solutions qui ont été intégrées dans la spécification ES6 :
Vous avez d'abord besoin d'un outil de construction webpack ou gulp. En comparaison, le premier est plus populaire maintenant, mais le coût d'apprentissage est légèrement plus élevé, ou le type d'échafaudage déjà préparé tel que vue-cli
npm i babel
Cet outil est utilisé pour analyser le code ES6 en code JS pris en charge par la plupart des navigateurs. Il existe également des tutoriels sur la façon de mettre en œuvre cette étape dans Babel. Bien sûr, si vous utilisez un échafaudage comme vue-cli, cela vous aidera à tout configurer, y compris les services locaux, afin que vous puissiez ignorer cette étape.Utilisez les spécifications ES6 pour écrire le langage et résoudre vos problèmes
conseils :
La situation dans laquelle vous reproduisez le problème devrait être rarement rencontrée dans le développement d'un projet réel, car c'est un problème qui a été résolu il y a quelques années, et c'est un problème que les grands projets rencontreront certainement
Le cœur de ce problème est la modularisation JS. Cela implique de nombreux points de connaissances approfondis. Si vous êtes intéressé, il est préférable de vous renseigner à ce sujet. Bien sûr, vous pouvez également l'ignorer et regarder directement la modularisation de. Spécifications ES6
module.export = la fonction que vous souhaitez exporter ;
Importez la fonction exportée sur une autre page.
require.js