開発中のRails6アプリにVuetifyを導入しようとしています。
初めて使うのでjQueryのように部分的に適用して動きとデザインを付けようと思っています。
##CSSが効かない
具体的にはタブで画面の一部を切り替える動きを付けたく、開発環境ではうまく適用できたのですが、本番環境にデプロイしたらCSSが反映されていませんでした。
本番環境でもタブをクリックすることで該当箇所が切り替わるのでJavascriptは効いているようなのですが、 CSSだけあたっていないようです。
いろいろ試しているのですが原因がわからず、ご教授いただけないでしょうか。
webpackerの設定の問題かとも思ったのですが、正しい書き方がよくわからず…
ご指摘いただければ必要な参照ファイルを提示します。
よろしくお願いします。
##環境
rails6.0.3.4
vue 2.6.12
vuetify 2.4.4
●本番環境
AWS EC2
Puma
Nginx
###htmlファイル
<div id="home"> <template> <v-app> ・ ・ ・ <v-tabs color="amber"> <v-tab class='headline text-dark'>タブ1</v-tab> <v-tab-Item> <p>タブ1中身</p> </v-tab-Item> <v-tab class='headline text-dark'>タブ2</v-tab> <v-tab-Item> <p>タブ2中身</p> </v-tab-Item> <v-tab class='headline text-dark'>タブ3</v-tab> <v-tab-Item> <p>タブ3中身</p> </v-tab-Item> </v-tabs> ・ ・ ・ </v-app> </template> </div>
##jsファイル
import Vue from 'vue' import Vuetify from "vuetify" import "vuetify/dist/vuetify.min.css" Vue.use(Vuetify) const vuetify = new Vuetify() document.addEventListener('DOMContentLoaded', () => { const home = new Vue({ el: '#home', vuetify }) })
##config/webpack/environment.js
webpackerの設定はよく理解できておらず、調べたものをそのままコピペしたりもしているので、適切でない記述があるかもしれません。
const { environment } = require('@rails/webpacker') const { VueLoaderPlugin } = require('vue-loader') const vue = require('./loaders/vue') environment.plugins.prepend('VueLoaderPlugin', new VueLoaderPlugin()) environment.loaders.prepend('vue', { test: /.vue$/, use: [{ loader: 'vue-loader' }] }) environment.loaders.prepend('vue', vue) module.exports = environment environment.config.merge({ resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' } } })
##package/json
"dependencies": { ・ ・ ・ "sass": "^1.32.7", "sass-loader": "10.1.1", "vue": "^2.6.12", "vue-loader": "^15.9.6", "vue-template-compiler": "^2.6.12", "vuetify": "^2.4.4" }, "devDependencies": { "deepmerge": "^4.2.2", "fibers": "^5.0.0", "webpack-dev-server": "^3.11.0" }
###追記
一応タブやその中身の位置はある程度正確に表示されているのでCSSは反映されているのかもしれない。[Vuetify] v-tab-itemの子要素は、タブがactive化した時に初めてレンダリングされるとのことなので、記述している文法が間違っているので正確なレンダリングがされていないのかもしれない。しかしだとするとなぜ開発環境では思った通りに表示されているのか…
あなたの回答
tips
プレビュー