Browserify與@google/earthengine:將JavaScript模組化的地理空間資料存取與分析打包成瀏覽器可用的文件
<p>我正在嘗試使用Browserify來導入Google Earth Engine的Javascript API。 </p>
<p>我已經安裝了這個模組:</p>
<pre class="brush:php;toolbar:false;">npm install --save-dev @google/earthengine</pre>
<p>我為測試目的建立了一個新的main.js檔案:</p>
<pre class="brush:php;toolbar:false;">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;
}</pre>
<p>(我收到一個警告,需要建立一個帶有<code>declare module '@google/earthengine'</code>的d.ts檔案)</p>
<p>我使用以下程式碼來揭露我創建的模組:</p>
<pre class="brush:php;toolbar:false;">Browserify main.js --standalone MDOutSystems > google-earth-outsystems.js</pre>
<p>然而,當我嘗試呼叫</p>
<pre class="brush:php;toolbar:false;">var ee = new MDOutSystems();</pre>
<p>我收到一個錯誤,說「MDOutSystems未定義」。 </p>
<p>幫忙。 </p>
<p>我嘗試將main.js移到/node_modules資料夾中,並再次執行browserify命令。實際上,這導致了一個完全不同的google-earth-outsystems.js文件,但它仍然無法運作。 </p>