меню

Прежде чем остановиться на отдельных характеристиках методов, дадим каждому из них определение.

require()

В контексте Node.js require() — это встроенная функция для включения внешних модулей, которые существуют в отдельных файлах. Оператор require() читает файл JavaScript, выполняет его, а затем возвращает экспортированный объект. Он позволяет добавлять встроенные модули NodeJS, те, что разработаны сообществом, а также локальные модули.

  
const myVar = require('http'); //to use built-in modules  
const myVar2 = require('./myLocaModule'); //to use local modules
  

import()

Операторы import() и export() используются для ссылки на модуль ES. Другие модули с такими типами файлов, как .json, нельзя импортировать с помощью этих операторов. Их можно использовать только в модулях ES, а спецификатором этого оператора может быть либо относительный путь типа URL, либо имя пакета. Оператор import также нельзя использовать во встроенных скриптах, если только такой скрипт не относится к типу module. Динамический импорт можно применять для скриптов, тип которых не является module.

  
const myVac = import("module-name");
  

Сравнение require() и import()

1. require() можно вызвать из любого места

Обычно операторы import() и require() вызываются в начале файла. Но вы можете вызвать require() из любого места кода, в то время как операторы import() могут быть определены только в начале. Определение оператора import() в другом месте приведет к ошибке или автоматическому сдвигу в начало файла.

2. require() может быть вызван условно

Оператор require() можно вызывать условно в отличие от import(). Взгляните на приведенный ниже код:

  
//require
if(user.id == 1){
   const getBlogTitle = require(./blogDetails.js’);
}
  
  
//import
if(...) {   
  import ...; // Ошибка, не разрешается!
}  
{   
  import ...; // Ошибка, мы не можем поместить импорт ни в один блок.
}
 

3. Модули ES можно вызывать динамически

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

 
//Динамический импорт
let {hi, bye} = await import('./say.js');  
hi(); // Hello!
bye(); // Bye!

//или

let say = await import('./say.js');     
say.hi(); // Hello!     
say.bye(); // Bye!
  

4. Операторы import() являются асинхронными

Операторы require() вызываются синхронно один за другим, в то время, как import() вызываются асинхронно, и, как известно, работают лучше, чем require() в крупномасштабных приложениях.

Материал был взят с сайта: nuancesprog.ru


Возможно, вам будет интересно

Плавная кнопка "Наверх" на jQuery

Многие из Вас видели, что на некоторых сайтах при прокрутке окна браузера, в какой-то момент появляется кнопка "Наверх". Если по ней кликнуть, то начинается плавная промотка полосы прокрутки до самого верха. Как реализовать плавную кнопку "Наверх" через jQuery, Вы и узнаете из этой статьи.

Как отключить ввод текста по переключателю disabled

В данном материале будет представлен самый простой способ включения и отключения ввода информации в текстовое поле INPUT=TEXT с помощью библиотеки jQuery и html атрибута disabled.

JavaScript - отслеживание изменения ориентации на мобильных устройствах

Если Ваше мобильное приложение поддерживает только портретную или только горизонтальную ориентацию, то есть большая вероятность того, что некоторые элементы придётся менять, в зависимости от положения устройства.

Как избежать повторной загрузки контента Jquery + Ajax + JSON

Как избежать повторной загрузки контента Jquery + Ajax + JSON. Для работы Front - End'а доступны были по ТЗ только таковы инструменты Java Script, JQuery, Ajax, JSON и конечно же HTML + CSS.

Оформление заявки

Документы на создание сайта

Изучите наше коммерческое предложение, заполните БРИФ и отправьте его на почту maxidebox@list.ru. Изучив все пожелания из БРИФ-а, обратным ответом оповестим Вас по стоимости разработке, ответим на вопросы.

КП на создание сайта Коммерческое предложение на созданеи сайта

Мы берем на себя ответственность за все стадии работы и полностью избавляем клиентов от забот и необходимости вникать в тонкости.

Скачать БРИФ (акета) на создание сайта Скачать БРИФ (акета) на создание сайта

Зополните у БРИФ-а все необходимые поля. Сделайте краткое описание к каждому из пунктов анкеты, привидите примеры в соответсвующий пунктах - это позволит лучше понять Ваши ожидания и требования к сайту