Скидки до 81 000 руб и профессия в подарок!

Главная | Все статьи | Код

Что такое webpack externals и как их настроить

Время чтения статьи ~2 минуты
Что такое webpack externals и как их настроить главное изображение

Благодаря webpack externals приложение, которое собирается с помощью webpack, может использовать зависимости, не включённые в бандл. Эти зависимости загружаются, например, с помощью ссылки на CDN в теге <script>, и становятся доступными глобально. Webpack externals позволяют использовать такие зависимости с помощью обычного импорта.

Как использовать webpack externals

Чтобы подключить, например, Vue через CDN в созданном с помощью webpack бандле, нужно выполнить следующие действия:

  1. Добавить зависимость, в данном случае Vue, в HTML-код страницы
  2. Настроить externals, то есть указать глобальную переменную из скрипта CDN и строку, которая будет использоваться для импорта
  3. Импортировать зависимость с помощью строки, которая указана в настройках externals

Рассмотрим процесс пошагово.

Как добавить зависимость

В нашем примере нужно добавить в HTML страницы скрипт подключения:

<script src='https://cdn.jsdelivr.net/npm/vue/dist/vue.js'></script>

Он добавляет Vue в объект window как window.Vue. Также доступ можно получить с помощью глобальной переменной Vue.

Читайте также Зачем нужно собирать фронтенд: подробный гайд

Как настроить externals

Это делается файле webpack.config.js:

module.exports = {
  externals: {
    vue: 'Vue'
  }
};

Здесь мы указываем ключ vue и добавляем в его значение глобальную переменную Vue.

Как импортировать зависимость

Нужно указать импорт:

import Vue from 'vue';

Webpack externals фактически меняет значение from на определённое в webpack.config.js. То есть под капотом Vue импортируется из объекта window:

import Vue from window.Vue;

Вот и всё. Webpack externals пригодятся, если созданный с помощью webpack бандл запускается там, где уже есть внешние зависимости, например, как в ситуации с микрофронтендами. При правильном использовании webpack externals уменьшают время загрузки страницы и делают её более удобной как для разработчиков, так и для конечных пользователей.

Адаптированный перевод статьи What is Webpack Externals.

Прокачивайтесь с Хекслетом — пройдите трек для опытных разработчиков «СИКП на JS». Эти курсы перевернут ваше представление о том, что такое код, данные и функции. Они базируются на легендарном курсе «Структура и интерпретация компьютерных программ (СИКП)». В этих курсах создаются свои собственные типы данных, из которых строятся другие типы, изучаются функции высшего порядка, каррирование, частичное применение и многое другое. Вы познакомитесь с отложенными вычислениями, мемоизацией и лямбда-исчислением.

Аватар пользователя Дмитрий Дементий
Дмитрий Дементий 02 ноября 2020
9
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 14 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 14 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 14 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 14 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 14 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 14 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 14 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 14 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 14 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 14 ноября