前提・実現したいこと
Nuxt.jsで
vue-slick-carousel のプラグインを使ってカルーセル実装を開発環境でできたのですが、
yarn build でbuildすると表示が崩れてしまいます。これを解決したいです。
他にvue-awesome-swiper でも作ってみましたが、設定をしても
next.prevのボタンが効かなかったりドットが出なかったりしてうまくいかなく、
どうにかvue-slick-carouselでの実装で挙動して欲しいです。
よろしくお願いします。
nuxt.config.js
javascript
1 plugins: [ 2 { src: '@/plugins/slick.js', ssr: false }, 3 ], 4 build: {// プラグインがES6などで書かれている場合はビルドの指定も必要になる 5 // transpile:['vue-slick-carousel'] 6 vendor: [ 7 // 'vue-awesome-swiper', 8 'vue-slick-carousel' 9 ], 10 plugins: [ 11 new webpack.ProvidePlugin({ 12 // グローバルなモジュール 13 $: 'jquery', 14 _: 'lodash' 15 }) 16 ] 17 }, 18
~/plugin/slick.js
javascript
1import Vue from 'vue' 2import VueSlickCarousel from 'vue-slick-carousel' 3import 'vue-slick-carousel/dist/vue-slick-carousel.css' 4// optional style for arrows & dots 5import 'vue-slick-carousel/dist/vue-slick-carousel-theme.css' 6 7Vue.use(VueSlickCarousel)
comp-slick.vue
javascript
1<template> 2 <no-ssr> 3 <VueSlickCarousel v-bind="settings"> 4 <div> 5 <div class="case-list"> 6 スライド1の内容(割と長いhtml) 7 </div> 8 </div> 9 <div> 10 <div class="case-list"> 11 スライド2の内容 12 </div> 13 </div> 14 以下省略 15 </div> 16 <template #prevArrow="arrowOption"> 17 <div class="custom-arrow"> 18 {{ arrowOption.currentSlide }}/{{ arrowOption.slideCount }} 19 </div> 20 </template> 21 <template #nextArrow="arrowOption"> 22 <div class="custom-arrow"> 23 {{ arrowOption.currentSlide }}/{{ arrowOption.slideCount }} 24 </div> 25 </template> 26 <template #customPaging="page"> 27 <div class="custom-dot-case"> 28 {{ page }} 29 </div> 30 </template> 31 </VueSlickCarousel> 32 </no-ssr> 33</template> 34 35<script> 36 import VueSlickCarousel from 'vue-slick-carousel' 37 export default { 38 components: { 39 VueSlickCarousel 40 }, 41 data() { 42 return { 43 settings: { 44 arrows: true, 45 dots: true, 46 // focusOnSelect: true, 47 // infinite: true, 48 speed: 500, 49 slidesToShow: 4, 50 slidesToScroll: 4, 51 // adaptiveHeight: true, 52 "responsive": [ 53 { 54 "breakpoint": 768, 55 "settings": { 56 "slidesToShow": 2, 57 "slidesToScroll": 2, 58 } 59 }, 60 ] 61 }, 62 } 63 }, 64 } 65</script> 66
発生している問題・エラーメッセージ
開発環境・build後の環境でエラーは出ません
該当のソースコード
試したこと
vue-slickをNuxt.jsで使用した時の「window is not defined」エラー解消法
https://ti-tomo-knowledge.hatenablog.com/entry/2020/06/23/005607
補足情報(FW/ツールのバージョンなど)
"nuxt": "^2.0.0",
"vue-slick-carousel": "^1.0.6"
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー