Maison  >  Questions et réponses  >  le corps du texte

Browserify et @google/earthengine : regroupez l'accès et l'analyse modulaires des données géospatiales JavaScript dans des fichiers utilisables par le navigateur

<p>J'essaie d'utiliser Browserify pour importer l'API Javascript de Google Earth Engine. </p> <p>J'ai installé ce module : </p> <pre class="brush:php;toolbar:false;">npm install --save-dev @google/earthengine</pre> <p>J'ai créé un nouveau fichier main.js à des fins de test : </p> <pre class="brush:php;toolbar:false;">var md = require('@google/earthengine'); module.exports = MDOutSystems ; fonction MDOutSystems() { this.mdInstance = md; } ; MDOutSystems.prototype.data.authenticateViaPrivateKey = fonction ( privateKey, opt_success, opt_error, opt_extraScopes, opt_suppressDefaultScopes) { md.data.authenticateViaPrivateKey(privateKey, opt_success, opt_error, opt_extraScopes, opt_suppressDefaultScopes); } ; MDOutSystems.prototype.initialize = fonction() { md.initialize(); } ; MDOutSystems.prototype.Image = fonction (source) { md.Image(source); } ; MDOutSystems.prototype.getInstance = fonction () { renvoie this.mdInstance ; }</pré> <p>(J'ai reçu un avertissement indiquant que je dois créer un fichier d.ts avec le module <code>declare '@google/earthengine'</code>)</p> <p>J'utilise le code suivant pour exposer le module que j'ai créé : </p> <pre class="brush:php;toolbar:false;">Parcourir main.js --standalone MDOutSystems > google-earth-outsystems.js</pre> <p>Cependant, lorsque j'essaie d'appeler </p> <pre class="brush:php;toolbar:false;">var ee = new MDOutSystems();</pre> <p>Je reçois une erreur disant "MDOutSystems n'est pas défini". </p> <p>Aide. </p> <p>J'ai essayé de déplacer main.js dans le dossier /node_modules et d'exécuter à nouveau la commande browserify. Cela a en fait abouti à un fichier google-earth-outsystems.js complètement différent, mais cela n'a toujours pas fonctionné. </p>
P粉208469050P粉208469050401 Il y a quelques jours469

répondre à tous(1)je répondrai

  • P粉545218185

    P粉5452181852023-08-16 00:24:47

    Je suppose que le navigateur compressera le code et modifiera le nom de la fonction.

    MDOutSystems()Il sera méconnaissable après ça.

    Attachez vos méthodes à l'objet window.

    Comme ça :

    function MDOutSystems() {
      this.mdInstance = md;
    };
    
    window.MDOutSystems = MDOutSystems;

    répondre
    0
  • Annulerrépondre