2016-08-15 87 views
1

目前我試圖現有RequireJS項目遷移到的WebPack堅持了移植我RequireJS配置的map部分:的WebPack替代RequireJS地圖配置

... 
map: { 
    // Everyone get an extension module as if it's an original 
    "*": { 
     "backbone": "backbone_ext", 
     "marionette": "marionette_ext" 
    }, 

    // Extension modules get original modules as dependencies 
    "backbone_ext": { "backbone": "backbone" }, 
    "marionette_ext": { "marionette": "marionette" } 
} 
... 

從ReqeireJS文檔:

地圖:對於給定的模塊前綴, 而不是使用給定的ID加載模塊,而是替換 不同的模塊ID。

在Webpack中有沒有其他方法可以做同樣的事情?

回答

1

看看resolve.alias,它允許重新定義如何解決導入問題。

https://webpack.github.io/docs/configuration.html#resolve-alias

這應包括您的別名的backbone進口到backbone_ext的第一個問題時,它被使用,通過如下規則:

{ backbone: "backbone_ext" } 

但是我認爲這些的決策,全局和我不當backbone應該在backbone內部解決時,我不知道如何處理另一個案例以便再次覆蓋此項。但假設在這些模塊中沒有完全合格的導入(但只包含相關的導入),這可能已經適用於您。