Разрешить зависимости модуля от удаленно загруженного компонента React
TL;DR
Я хотел бы, если есть правильный способ для разрешения общих зависимостей модуля с Webpack на удаленно загруженном компоненте React, как показано на следующем Gist: https://gist.github.com/tonytonyjan/616022dce75f8e6c1603bbeb94ec46a4
подробности
Это может показаться необычным, но у нас не будет доступа ко всем компонентам React во время сборки.
У нас будут подключаемые модули, представляющие собой компоненты React в комплекте с Webpack, развернутые в некоторой доступной конечной точке.
А наше веб-приложение отобразит страницу доступных плагинов, загруженных во время выполнения.
Вышеприведенный Gist показывает, как удаленно загрузить компонент React, но он разрешает внешние зависимости, вручную сопоставляя модули с функцией require:
function require(name){
if(name == 'react') return React
else throw `You can't use modules other than "react" in remote component.`
}
Я хотел бы знать, есть ли лучший способ любезно разрешить все общие внешние зависимости удаленных компонентов (асинхронно или нет), не выполняя этот трюк ручного отображения (некоторые конфигурации Webpack).
Например, плагин webpack.config.js будет выглядеть примерно так:
module.exports = {
entry: {
PluginView: 'src/PluginView.js'
},
target: 'web',
output: {
path: path.join(__dirname, outputPath),
filename: 'PluginView.bundle.js',
libraryTarget: 'commonjs2'
},
module: {
loaders: [
{
loader: 'babel-loader',
query: {
presets: ['es2015', 'react']
}
}
]
},
externals: {
'react': 'React',
'otherThirdPartyLib': 'OtherThirdPartyLib' // any other common lib already available at our webapp
}
};
Любые мысли будут оценены.
Заранее спасибо.