[К содержанию](../readme.md#введение-в-web-разработку) # Карусель >Будет использоваться в приложении "Управление коллекцией фильмов" На примере карусели разберёмся, как подключать дополнительные js-библиотеки Будем использовать [библиотеку **Swiper**](https://swiperjs.com/element) (можете и сами что-то написать или найти похожее) 1. Установка библиотеки Для **Swiper** есть NPM-пакет, установим его командой: ```bash npm install swiper ``` 1. В компоненте в котором вы будете использовать карусель необходимо зарегистрировать компонент карусели ```vue ``` >В доке ещё описан альтернативный вариант загрузки скрипта карусели из CDN. Если хотите использовать этот вариант, то скрипт нужно прописать в заголовок `index.html` > >Собственно первый вариант и делает динамическую загрузку js-скрипта, только не из CDN, а из локального пакета 1. [Использование компонента карусели](https://swiperjs.com/element#usage-with-vue) Можете попытаться разобраться сами, у компонента много разных настроек. Я ниже приведу вариант для карусели постеров (стили тут условные, вам под свою вёрстку надо будет поправить) ```vue ``` В примере я не показываю реализацию метода `api.loadFilms`, это вы должны будете реализовать самостоятельно в рамках практического занятия При установке внешних компонентов в консоли могут появиться **предупреждения**: ``` Failed to resolve component: swiper-slide If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. ``` На работоспособность они не влияют, но засоряют консоль. Чтобы сказать **vue**, чтобы он не обращал внимания на такие компоненты нужно в настройках (`vite.config.js`) добавить исключения: ```js export default defineConfig({ plugins: [ vue({ template: { compilerOptions: { isCustomElement: (tag) => ['swiper-slide','swiper-container'].includes(tag), } } }), vueDevTools(), ], ``` [Назад](./web_17.md) | [Дальше](./web_19.md)