Browserify dan @google/earthengine: Membungkus akses dan analisis data geospatial modular JavaScript ke dalam fail boleh guna pelayar
P粉208469050
2023-08-15 17:45:55
<p>Saya cuba menggunakan Browserify untuk mengimport API Javascript Enjin Google Earth. </p>
<p>Saya telah memasang modul ini: </p>
<pre class="brush:php;toolbar:false;">npm install --save-dev @google/earthengine</pre>
<p>Saya mencipta fail main.js baharu untuk tujuan ujian: </p>
<pre class="brush:php;toolbar:false;">var md = require('@google/earthengine');
module.exports = MDOutSystems;
fungsi MDOutSystems() {
this.mdInstance = md;
};
MDOutSystems.prototype.data.authenticateViaPrivateKey = fungsi(
privateKey, opt_success, opt_error, opt_extraScopes,
opt_suppressDefaultScopes) {
md.data.authenticateViaPrivateKey(privateKey, opt_success, opt_error, opt_extraScopes,
opt_suppressDefaultScopes);
};
MDOutSystems.prototype.initialize = function() {
md.initialize();
};
MDOutSystems.prototype.Image = fungsi(sumber) {
md.Imej(sumber);
};
MDOutSystems.prototype.getInstance = fungsi () {
kembalikan ini.mdInstance;
}</pre>
<p>(Saya menerima amaran bahawa saya perlu membuat fail d.ts dengan <code>declare module '@google/earthengine'</code>)</p>
<p>Saya menggunakan kod berikut untuk mendedahkan modul yang saya cipta: </p>
<pre class="brush:php;toolbar:false;">Browserify main.js --standalone MDOutSystems >
<p>Namun, apabila saya cuba menghubungi </p>
<pre class="brush:php;toolbar:false;">var ee = new MDOutSystems();</pre>
<p>Saya mendapat ralat mengatakan "MDOutSystems tidak ditakrifkan". </p>
<p>Bantuan. </p>
<p>Saya cuba mengalihkan main.js ke dalam folder /node_modules dan menjalankan perintah browserify sekali lagi. Ini sebenarnya menghasilkan fail google-earth-outsystems.js yang berbeza sama sekali, tetapi ia masih tidak berfungsi. </p>
Saya rasa pelayar akan memampatkan kod dan menukar nama fungsi.
MDOutSystems()
Ia tidak akan dapat dikenali selepas itu.Lampirkan kaedah anda pada objek
window
.Seperti ini: