[Nuxt.js] vue-awesome-swiperを使う際の注意点
基本的な実装はこの辺りが参考になる。
https://qiita.com/nakanishi03/items/c12221be7645b84016c8
相違点
公式(https://github.com/surmon-china/vue-awesome-swiper)を参考に、説明する。
Install
Swiper本体のインストールも必要になる。
yarn add swiper@5.x vue-awesome-swiper
ここで注意するのは、vue-awesome-swiperではSwiper5が推奨されているが、更新によりSwiper6が登場しているため最新版をインストールすると動作がおかしくなる(ページネーションやナビゲーションが機能しないなど)。
必ずバージョン指定をしよう。
CSS
上記記事には記載がないが、Global CSSとしてSwiperのCSSを登録する。
/* nuxt.config.js */
module.exports = {
...
css: [
...
'swiper/css/swiper.css'
],
}
SSRで動かしている場合
Nuxt.jsあるあるだが、SSR対応していないライブラリはSSRで動かすとバグる。
該当箇所をクライアントサイドのみで動作させよう。
- Nuxtバージョンがv.2.9.0以上の場合
<client-only>
<swiper>
<swiper-slide>slide</swiper-slide>
</swiper>
</<client-only>
- Nuxtバージョンがv.2.9.0未満の場合
<no-ssr>
<swiper>
<swiper-slide>slide</swiper-slide>
</swiper>
</<no-ssr>
頻繁に更新されるライブラリはありがたいけど、アップデートで実装方法や動作が変わることが多いから注意が必要だね。