2017-09-26 8 views
1

インポート文で整形式のURIまたはパスではなく、モジュールへのシンボリックリファレンスを使用するためにES6ローダーを作成しようとしています。インスタンスの場合、このようなインポート:シンボリックリファレンスを解決するためのES6モジュールローダー

import { foo } from 'com.bussines.platform.utils'; 

は、実際のURIへのシンボリック参照com.bussines.platform.utilsを解決し、fooを取得するために、定期的なロードプロセスを続行する必要があります。

この目標を達成するために、私たちは@guybedfordによって開発されたes-module-loaderpolyfillを使用しています。 、我々はブラウザのコンテキストにあるように、我々は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。継承に基づいて他のアプローチを試みましたが、同様の結果が得られました。

¿誰でもこの問題の解決方法についての洞察をいただけますか?前もって感謝します。

答えて

0

ローダーは別々のビルドなので、ここではBrowserESModuleLoader.resolveとBrowserESModuleLoader.instantiateが必要です。

ブラウザESモジュールローダーコード自体を直接フォークし、代わりにこれらのタイプの指定子を直接処理するように調整する方が良いかもしれません。

関連する問題