Чем отличаются импорты компонентов во Vue?

Не знаю к какой теме лучше отнести данный вопрос, может все же к вебпаку?

Импортировать компонент в компонент во Vue можно так:
import Layout from 'layouts/Layout'
export default {
  components: {
    Layout,
  },
}


А можно и так:
export default {
  components: {
    Layout: () => import('layouts/Layout')
  },
}


Чем будут отличаться эти импорты?
Какие минусы/плюсы?
  • Вопрос задан
  • 186 просмотров
Решения вопроса 3
@Sashqa
Выражение import(module) загружает модуль и возвращает промис, результатом которого становится объект модуля, содержащий все его экспорты.
learn.js
Ответ написан
Комментировать
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Первый случай — традиционный импорт. Второй — динамиический (отложенный) импорт.

В случае WebPack это означает что:
  1. Файл layouts/Layout войдёт в состав общей сборки
  2. Файл layouts/Layout и все его зависимости будут вынесены в отдельный файл


Конкретно во Vue это означает:
  1. Файл Компонента layouts/Layout будет загружен сразу,
  2. Файл компонента будет загружен только после того как компонент Layout понадобится.


Вот ссылки для изучения:
https://developer.mozilla.org/ru/docs/Web/JavaScri...
https://learn.javascript.ru/modules-dynamic-imports

Очень хороший доклад на эту тему:
https://www.youtube.com/watch?v=5nr8zLo9hAg
Ответ написан
Комментировать
Xuxicheta
@Xuxicheta
инженер
По втором случае Layout будет помещен в отдельный файл и загрузится при надобности.
Читать тут
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы