2017-01-16 3 views
0

webpack1 не имеют возможность загружать модули по требованию, как я могу сделать это с SystemJS:Может webpack2 загрузить модули динамически, как SystemJS

function a() { 
    var moduleName = getDynamicModuleName(); 
    SystemJS.import(moduleName).then(function (m) { 
     console.log(m); 
    }); 
} 

На основе on this article, кажется, что webpack2 может сделать это, как хорошо, так Я терплю следующее:

function a() { 
    var moduleName = getDynamicModuleName(); 
    import(moduleName).then(function (m) { 

    }); 
} 

Однако WebPack создал пакет для moduleName и дал предупреждение:

3:4-22 Critical dependency: the request of a dependency is an expression 

Так что это не совсем динамично, это то, как работает расщепление кода. Так поддерживает ли webpack2 истинную динамическую загрузку, такую ​​как SystemJS?

+0

Вы можете иметь посмотрите: https://webpack.js.org/guides/code-splitting/ – mrlew

+1

@mrlew, эти документы предназначены для webpack1 –

+0

все правая, отредактированная – mrlew

ответ

1

Webpack - это поставщик, это не загрузчик. Он предоставляет ряд функций, подобных загрузчикам, таких как require и import, так что входящие в комплект модули могут взаимодействовать друг с другом, но об этом. То, что вы ищете, является фактическим загрузчиком.

Одним из возможных вариантов является использование WebPack-х script-loader:

require(`script!${moduleUrl}`, function() { ... })

Другая возможность заключается в том, чтобы использовать фактический загрузчик независимо от WebPack, как, например little-loader:

var load = require("little-loader"); load("http://example.com/foo.js", function (err) { // ... your code ... });

+0

нормально, спасибо, но после загрузки, как я могу интегрировать загруженный модуль в систему модулей webpack? Например, требуется загруженный модуль в некоторых других модулях после загрузки? –

+0

Это не обязательно - модульная система webpack работает, по существу, только с тем, что связано с временем сборки. Но вы можете использовать свой динамический загрузчик по выбору во всех связанных модулях. –

 Смежные вопросы

  • Нет связанных вопросов^_^