How to fix "TypeError: plugin is undefined" error when using VeeValidate with Vue

How to fix "TypeError: plugin is undefined" error when using VeeValidate with Vue

当我添加:

Vue.use(VeeValidate);

我的 Vue 页面显示空白并出现控制台错误:

TypeError: plugin is undefined

我发现了同样的错误:

但我没有在我的 .vue 文档中的任何地方使用 => 语法。

vee-验证 3.0.3,Vue 2.6.10

完整 main.js 文件:

import Vue from 'vue'
import VeeValidate from 'vee-validate';
import App from './App.vue'

Vue.config.productionTip = false
Vue.use(VeeValidate);

new Vue({
  render: h => h(App),
}).$mount('#app')

在我的 App.vue 文件中,我将 ValidationProvider 作为组件包含在内:

<script>
import CriteriaDataModel from './data-model/criteria-data-model.js';
import UserDataModel from './data-model/user-data-model.js';
import { ValidationProvider } from 'vee-validate';

export default {
  name: 'app',
  data: function() {
    return {
      criteriaModel: CriteriaDataModel,
      completeMessage: null,
      form: {
        user: UserDataModel
      }
    };
  },
  components: {
    ValidationProvider
  }
};
</script>

我也尝试过将我的 Vue 初始化更改为此,但没有帮助:

new Vue({
  render: function (h) { return h(App) },
}).$mount('#app')

我观察到 VeeValidate 在 node_module 中有很多 '=>' 语法的用法(在其他堆栈溢出中被引用为问题),但由于打算将其用于 Vue,我怀疑是不是这个问题。

我想通了。 vee-validate 的默认导出似乎为空。在我将导入更改为:

后它起作用了
import * as VeeValidate from 'vee-validate';