В чем разница между "импортировать" и "требовать" в JavaScript?

Когда я хочу использовать пакеты в JavaScript import против require? Они одинаковы или имеют разные варианты использования?

2 ответа

Вы можете иметь динамическую загрузку там, где имя загруженного модуля не является предопределенным / статическим, или если вы условно загружаете модуль, только если он "действительно требуется" (в зависимости от определенного потока кода). Загрузка синхронная. Это означает, что если у вас есть несколько требований, они загружаются и обрабатываются по одному. ES6 Импорт:

Вы можете использовать именованный импорт, чтобы выборочно загрузить только те части, которые вам нужны. Это может сохранить память. Импорт может быть асинхронным (и в текущем ES6 Module Loader это действительно так) и может работать немного лучше. Кроме того, система модулей Require не основана на стандартах. Маловероятно, что это станет стандартом сейчас, когда существуют модули ES6. В будущем будет встроена поддержка модулей ES6 в различных реализациях, что будет выгодно с точки зрения производительности.

Требовать: синхронно

Вы можете иметь динамическую загрузку там, где имя загруженного модуля не является предопределенным / статическим, или если вы условно загружаете модуль, только если он "действительно требуется" (в зависимости от определенного потока кода). Загрузка синхронная. Это означает, что если у вас есть несколько требований, они загружаются и обрабатываются по одному.

ES6 Импорт: может быть асинхронным

Вы можете использовать именованный импорт, чтобы выборочно загрузить только те части, которые вам нужны. Это может сохранить память. Импорт может быть асинхронным (и в текущем ES6 Module Loader это действительно так) и может работать немного лучше. Кроме того, система модулей Require не основана на стандартах. Маловероятно, что это станет стандартом сейчас, когда существуют модули ES6. В будущем будет встроена поддержка модулей ES6 в различных реализациях, что будет выгодно с точки зрения производительности.

Другие вопросы по тегам