1

우리는 AWS S3 SDK를 사용하여 브라우저에서 S3 버킷으로 파일을 업로드하고 있습니다. 파일의 양과 크기가 커질 수 있고 UI 렌더링 및 상호 작용에 영향을 줄 수 있으므로 업로드 프로세스를 웹 작업자 스레드로 끌어들입니다. 이렇게하면 사용자는 단일 페이지 응용 프로그램에서 자유롭게 탐색하고 상호 작용할 수 있습니다.AWS S3 SDK 업로드에서 웹 작업자의 DOMParser를 polyfill하는 방법은 무엇입니까?

작은 파일을 업로드하면 모든 것이 잘 실행됩니다. 문제는 S3 SDK가 큰 파일을 업로드하려고 할 때입니다. 파일을 여러 청크로 분할하고 각 청크를 개별적으로 업로드합니다. s3 서버가 XML 응답을 반환하고 S3 SDK가 웹 작업자 범위에 정의되지 않은 DOMParser 클래스를 사용하여 XML 응답을 구문 분석하려고합니다.

S3 SKD가 Web Worker에서 업로드를 수행하도록 DOMParser를 polyfilled 할 수있는 방법이 있습니까?

답변

0

질문에 대한 내 대답 :

내가 jsdombrowserify

jsdom를 사용하여 웹 작업자 DOMParser를 polyfill 할 수 있었다는 윈도우 환경을 시뮬레이션하고, browserify 번들 브라우저에서 실행되는 jsdom (jsdom는 의도 된 nodejs에서 실행)

꽤 잘 작동했습니다.

0

버전 관리 문제로 인해 jsdom이 저에게 효과적이지 않았습니다. 하지만 다음 코드를 사용하여 aws SDK에 대한 DOMParser를 polyfill 할 수있었습니다.

var DOMParser = require('xmldom').DOMParser; 
window.DOMParser = DOMParser; 

는 browserify 달려

importScripts('domparser.js'); 
importScripts('https://sdk.amazonaws.com/js/aws-sdk-2.176.0.js'); 
SDK 가져 AWS 전에

browserify main.js -o domparser.js 

그리고 수입 domparser.js domparser.js 생성