vuetify-form-b​​ase 表单未在生产模式下加载

vuetify-form-base Form not Load in Production Mode

我在 Nuxt-Vue 项目中使用 vuetify-form-base 并且在开发模式下 evrythings 是可以的(npm 运行 dev) 当我切换到生产模式时(npm 运行 start);表单未加载且未发生错误或警告。

我的 nuxt.config.js 文件是:

import colors from 'vuetify/es5/util/colors'

export default {
  ssr: false,
  head: {
    titleTemplate: '%s - nuxt-form-sample',
    title: 'nuxt-form-sample',
    htmlAttrs: {
      lang: 'en'
    },
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: '' }
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ]
  },
  components: true,
  buildModules: [
    '@nuxtjs/vuetify',
  ],
  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
        }
      }
    }
  }
}

vuetify-form-b​​ase 的用法是:

<div>
  <v-form-base :schema="schema" :model="model"/>
</div>

我解决了这个问题 https://github.com/wotamann/vuetify-form-base/issues/50 在 SSR 模式下表单没有正确呈现!

解决方案1:

你应该使用'v-mask'包并导入vuetify-form-b​​ase包中的主要组件文件。

您应该将此包导出到插件中,如下所示: Vue.component('VueMask', () => 导入('v-mask'))

之后将主文件组件添加到您的项目中:

https://github.com/wotamann/vuetify-form-base/blob/master/dist/src/vFormBase.vue

备选方案:

我的答案不清楚,所以我想告诉你一步一步解决这个问题的简单方法。 我花了很多时间解决了这个问题,这里是解决方案: 1- 安装 v-mask 包 2- 只需将 https://github.com/wotamann/vuetify-form-base/blob/master/dist/src/vFormBase.vue 复制到您的组件文件夹 3- 在你的插件中使用 Vue.component('VueMask', () => import('v-mask')) 4- 然后删除 form-base 导入页面。