Browserify與@google/earthengine:將JavaScript模組化的地理空間資料存取與分析打包成瀏覽器可用的文件
P粉208469050
P粉208469050 2023-08-15 17:45:55
0
1
459

我正在嘗試使用Browserify來導入Google Earth Engine的Javascript API。

我已經安裝了這個模組:

npm install --save-dev @google/earthengine

我為測試目的建立了一個新的main.js檔案:

var md = require('@google/earthengine'); module.exports = MDOutSystems; function MDOutSystems() { this.mdInstance = md; }; MDOutSystems.prototype.data.authenticateViaPrivateKey = function( 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 = function(source) { md.Image(source); }; MDOutSystems.prototype.getInstance = function () { return this.mdInstance; }

(我收到一個警告,需要建立一個帶有declare module '@google/earthengine'的d.ts檔案)

我使用以下程式碼來揭露我創建的模組:

Browserify main.js --standalone MDOutSystems > google-earth-outsystems.js

然而,當我嘗試呼叫

var ee = new MDOutSystems();

我收到一個錯誤,說「MDOutSystems未定義」。

幫忙。

我嘗試將main.js移到/node_modules資料夾中,並再次執行browserify命令。實際上,這導致了一個完全不同的google-earth-outsystems.js文件,但它仍然無法運作。

P粉208469050
P粉208469050

全部回覆 (1)
P粉545218185

我猜瀏覽器會對程式碼進行壓縮,並更改函數名稱。

MDOutSystems()之後就無法辨識了。

將你的方法附加到window物件上。

像這樣:

function MDOutSystems() { this.mdInstance = md; }; window.MDOutSystems = MDOutSystems;
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!