html - Comment appeler des objets JavaScript d'autres fichiers js dans une page?
我想大声告诉你
我想大声告诉你 2017-06-14 10:52:32
0
5
863

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...

我想大声告诉你
我想大声告诉你

répondre à tous(5)
某草草

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 :

<script type="text/javascript">
    window.onload = function() {
        //这个地方 AgentStatus 就不会是 undefined 了
    }
</script>
左手右手慢动作

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 :

  1. 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

  2. .
  3. npm i babelCet 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.

  4. Utilisez les spécifications ES6 pour écrire le langage et résoudre vos problèmes

// AgentGetway.js
export const AgentStatus = {
    host :'127.0.0.1'
}
// index.html 你的html文件中的script
<script>
    import {AgentStatus} from './AgentGetway.js'
    console.log(AgentStatus) // host: '127.0.0.1'
</script>  

conseils :

  1. 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

  2. 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

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