우리는 가져 오기 문장에 올바른 형식의 URI 또는 경로 대신 모듈에 대한 심볼릭 참조를 사용하기 위해 ES6 로더를 만들려고합니다. 인스턴스의 경우,이 같은 가져 오기 :심볼릭 참조를 해결하는 ES6 모듈 로더
import { foo } from 'com.bussines.platform.utils';
실제 URI에 상징적 참조 com.bussines.platform.utils
를 해결해야하며, foo
를 얻기 위해 일반로드 프로세스를 진행합니다.
이 목표를 달성하기 위해 @guybedford가 개발 한 es-module-loader
polyfill을 사용하고 있습니다. 우리는 브라우저의 컨텍스트에, 우리는 BrowserESModuleLoader
에 위임 로더를 만들 수 있습니다
class CustomBrowserLoader extends RegisterLoader {
constructor(Loader) {
super();
this.loader = new BrowserESModuleLoader();
}
[RegisterLoader.resolve] (key) {
let uri = Resolve (key)
return this.loader[RegisterLoader.resolve] (uri); // (1)
}
[RegisterLoader.instantiate] (uri) {
return this.loader[RegisterLoader.instantiate] (uri); // (2)
}
}
문제는 놀라 울 정도로, (1)과 (2) 필요한 방법 resolve
을 찾을 수없는 라인에서 호출이다 및 instantiate
. 우리는 상속을 기반으로 다른 접근법을 시도했지만 비슷한 결과를 얻었습니다.
¿ 누구든지 문제 해결 방법에 대한 통찰력을 줄 수 있습니까? 미리 감사드립니다.