HerokuにデプロイするとVuetifyのCSSが読み込まれない
Vuetifyの導入方法をググると、大抵以下のやり方が紹介されているのだが、これだとHerokuにデプロイ時にVuetifyのCSSが反映されない。ローカルだと問題ない。
import Vue from "vue";
import Vuetify from "vuetify";
import "vuetify/dist/vuetify.min.css";
redditでも同じ事象の記事があった。
vuetify.min.cssはnode_modules配下のファイルなので、node_modulesはgitignoreでコミット対象外にしていることが関係している気がするけど、package.jsonはもちろんコミットしているのでデプロイ時にnode_modulesは展開されているはず。
heroku-cliを使ってファイルを確認したらきちんと展開されてた。
~ $ ls -l node_modules/vuetify/dist/
total 5788
drwx------ 2 u39688 dyno 4096 Jan 16 15:16 json
-rw------- 1 u39688 dyno 644397 Jan 16 15:15 vuetify.css
-rw------- 1 u39688 dyno 807829 Jan 16 15:15 vuetify.css.map
-rw------- 1 u39688 dyno 1582491 Jan 16 15:15 vuetify.js
-rw------- 1 u39688 dyno 1835082 Jan 16 15:15 vuetify.js.map
-rw------- 1 u39688 dyno 529772 Jan 16 15:15 vuetify.min.css
-rw------- 1 u39688 dyno 505732 Jan 16 15:15 vuetify.min.js
仕方がないので、CDNで読み込むことにした。ついでにmaterial-design-iconsも読み込んでおく。
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@5.x/css/materialdesignicons.min.css" rel="stylesheet">
環境はRails6.0.3 で、package.jsonは以下。
{
"name": "xxxxxx",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "4.3.0",
"turbolinks": "^5.2.0",
"vue": "^2.6.12",
"vue-loader": "^15.9.3",
"vue-router": "^3.4.5",
"vue-template-compiler": "^2.6.12",
"vuetify": "^2.3.10"
},
"version": "0.1.0",
"devDependencies": {
"@mdi/font": "^5.8.55",
"webpack-dev-server": "^3.11.0"
}
}
この記事が気に入ったらサポートをしてみませんか?