質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

0回答

927閲覧

vue-slick-carousel実装:dev環境では挙動問題ないのにbuild後で表示が崩れる

qutti96

総合スコア6

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

1クリップ

投稿2020/09/28 19:13

前提・実現したいこと

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"

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問