찾다

 >  Q&A  >  본문

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; 함수 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>
P粉208469050P粉208469050477일 전525

모든 응답(1)나는 대답할 것이다

  • P粉545218185

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

    브라우저가 코드를 압축하고 함수 이름을 변경할 것 같아요.

    MDOutSystems()이후에는 인식할 수 없게 됩니다.

    메서드를 window객체에 연결하세요.

    이렇게:

    으아악

    회신하다
    0
  • 취소회신하다