Browserify 및 @google/earthengine: JavaScript 모듈식 지리공간 데이터 액세스 및 분석을 브라우저에서 사용 가능한 파일로 패키징합니다.
P粉208469050
2023-08-15 17:45:55
<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;
함수 MDOutSystems() {
this.mdInstance = md;
};
MDOutSystems.prototype.data.authenticateViaPrivateKey = 함수(
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 = 함수(소스) {
md.Image(출처);
};
MDOutSystems.prototype.getInstance = 함수() {
this.mdInstance를 반환합니다.
}</pre>
<p>(<code>선언 모듈 '@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>
브라우저가 코드를 압축하고 함수 이름을 변경할 것 같아요.
MDOutSystems()
이후에는 인식할 수 없게 됩니다.메서드를
window
객체에 연결하세요.이렇게:
으아악