2017-09-26 65 views
1

我們正試圖創建一個ES6加載器,以對模塊使用符號引用,而不是在導入語句中使用格式良好的URI或路徑。對於情況下,像這樣的一個導入:用於解析符號引用的ES6模塊加載器

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

應該解決的符號引用com.bussines.platform.utils一個真正的URI,並與常規加載過程繼續得到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)未找到所需的方法resolveinstantiate。我們嘗試了基於繼承的其他方法,但獲得了類似的結果。

¿誰能提供一些有關如何解決問題的見解?提前致謝。

回答

0

裝載機是獨立的版本,所以我想你會想要BrowserESModuleLoader.resolve和BrowserESModuleLoader.instantiate在這裏。

雖然直接分叉瀏覽器ES模塊加載程序代碼本身,並使其適應直接處理這些類型的說明符可能會更好。

相關問題