В webpack 1 docs - это утверждение, которое в webpack 2 будет использовать System.import() для динамического require:
К счастью, существует спецификация JavaScript-загрузчика JavaScript API, являющаяся для обработки динамического варианта использования:
System.load(илиSystem.import). Этот API будет родным, эквивалентным приведенному вышеrequire.
И за это время по всему миру было примеры использования этого System.import().
Перед выпуском webpack 2 авторы решили изменить System.import() на import():
добавить
import()как конструкцию разделения кода. Он должен использоваться вместоSystem.import, когда это возможно.System.importбудет устаревать в webpack 2 release (удалено в webpack 3) , так как поведение неверно согласно спецификации.
Этот import() основан на tc39/proposal-dynamic-import спецификации, и вы можете узнать больше, почему они сделали это изменение здесь.
Может ли кто-нибудь объяснить разницу между System.import() и import()?
Несмотря на другое имя, использование выглядит одинаково:
import(modulePath)
.then(module => module.default())
.catch(/* ... */);
System.import(modulePath)
.then(module => module.default())
.catch(/* ... */);
Но в weback 2 doc есть: "System.import() поведение неверно в соответствии со спецификацией" - поэтому он предполагает, что существует разница между System.import() и import().