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

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

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

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

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

0回答

1901閲覧

VuetifyのCSSが本番環境で適用されない

da_ast

総合スコア7

Vue.js

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

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/02/13 02:46

編集2021/02/13 07:04

開発中の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化した時に初めてレンダリングされるとのことなので、記述している文法が間違っているので正確なレンダリングがされていないのかもしれない。しかしだとするとなぜ開発環境では思った通りに表示されているのか…

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

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

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

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

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

hoshi-takanori

2021/02/13 02:58

ソースや、開発環境と本番環境がそれぞれどのような環境なのかの説明がなければ、誰にも答えようがないのでは。
da_ast

2021/02/13 04:36

そうですよね、急いでて何も記載しないまま投稿してしまいました。いろいろ追記しましたのでよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問