Rails APIとNuxt.js、Vuetifyを使用したアプリをHerokuにデプロイしようとしたところ以下のエラーが出てデプロイできませんでした。
bash
1Error: Cannot find module 'vuetify/es5/util/colors' 2Error: Cannot find module '@nuxtjs/vuetify'
フォルダ構成は、Railsのプロジェクト内にfrontendというフォルダを作り、そこにNuxt.jsのプロジェクトを入れております。そしてyarn generate
した時にRailsのPublicフォルダに出力されるようにしております。
nuxt.config.jsは以下のようになっております。
import colors from 'vuetify/es5/util/colors' const config = { mode: 'spa', head: { titleTemplate: process.env.npm_package_name, title: process.env.npm_package_name || '', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: process.env.npm_package_description || '' } ], link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }] }, loading: { color: '#fff' }, plugins: [], buildModules: [ '@nuxtjs/vuetify' ], modules: [ '@nuxtjs/axios', '@nuxtjs/proxy' ], axios: { baseURL: process.env.BASE_URL || '/' }, vuetify: { customVariables: ['~/assets/variables.scss'], theme: { dark: true, themes: { dark: { primary: colors.blue.darken2, accent: colors.grey.darken3, secondary: colors.amber.darken3, info: colors.teal.lighten1, warning: colors.amber.base, error: colors.deepOrange.accent4, success: colors.green.accent3 } } } }, build: { extend(config, ctx) {} }, generate: { dir: '../public' } } if (process.env.NODE_ENV === 'development') { config.buildModules.push('@nuxtjs/eslint-module'), config.proxy = { '/api': 'http://localhost:3000' } } module.exports = config
また、Railsのルートにpackage.jsonを作り以下の記述をしております。
json
1{ 2 "license": "UNLICENSED", 3 "engines": { 4 "node": "10.15.1", 5 "yarn": "1.19.2" 6 }, 7 "scripts": { 8 "postinstall": "cd frontend && yarn install && yarn build" 9 } 10}
Vuetifyに関する記述を消せばデプロイはできるのですが、デザインが崩れてしまいます。
Vuetifyを使用した状態でデプロイするにはどうしたら良いでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。