Есть несколько отличий:
require()
является синхронным, import()
является асинхронным (возвращает обещание).
import
является ключевым словом, определенным в спецификации ECMA,require()
- это просто функция, определенная некоторой библиотекой.
Вы можете использовать require()
"изначально" в NodeJS, а не в браузерах, и import()
указано для всех механизмов JavaScript.
Теперь, если вы используете строительный конвейер (например, Webpack), они на самом деле делают разные вещи:
require()
объединит необходимый код в один пакет, так же как и import stuff
, тогда как import()
динамическизагружает модуль во время выполнения, так же как require.ensure
( doc )