Vuejs не может прочитать свойство 'use' с неопределенной ошибкой - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь интегрировать подключаемый модуль Datatable (https://www.npmjs.com/package/vuejs-datatable) в мое приложение Vue, и у меня появляется ошибка в моей консоли.

Uncaught TypeError: Cannot read property 'use' of undefined
    at eval (vuejs-datatable.js?b015:1)
    at Object.eval (vuejs-datatable.js?b015:1)
    at eval (vuejs-datatable.js:4)
    at Object../node_modules/vuejs-datatable/dist/vuejs-datatable.js (app.js:10170)
    at __webpack_require__ (app.js:679)
    at fn (app.js:89)
    at eval (selector.js?type=script&index=0!./src/views/tables/data-table.vue:2)
    at Object../node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/views/tables/data-table.vue (app.js:1438)
    at __webpack_require__ (app.js:679)
    at fn (app.js:89)

Мой файл dataTable.vue:

<template lang="html">

  <section class="data-table">
   <datatable :columns="columns" :data="rows"></datatable>
  </section>

</template>

<script lang="js">
import Vue from 'vue'
import DatatableFactory from 'vuejs-datatable'
export default {
  name: 'DatatablePage'
}
Vue.use(DatatableFactory)
</script>

И всякий раз, когда я пытаюсь использовать 'Vue.use (PluginName)' при интеграции плагина, я получаю похожую ошибку. Я новичок в VueJS. Что мне нужно сделать?

Ответы [ 3 ]

0 голосов
/ 07 января 2019

Добавление следующего в weback.config.js, похоже, помогло:

module.exports = {
    resolve: {
        alias: {
            ...
            'vuejs-datatable': 'vuejs-datatable/dist/vuejs-datatable.esm.js',
            ...
        }
    },
}

Основано на обсуждении здесь:

https://github.com/pstephan1187/vue-datatable/issues/50

0 голосов
/ 20 февраля 2019

Я столкнулся с той же ошибкой в ​​моем vue-приложении.

import Vue from 'vue';
import VueRouter from 'vue-router';
...some more imports here....

Vue.use(VueRouter);

...

Ошибка была cannot read property 'use' of undefined.Это означает, что у него была проблема с чтением Vue.Я проверил свои package.json и package-lock.json (для того, чтобы установить в моем локальном).Казалось, все в порядке.У меня были и Vue, и Vue-router.

Удаление node_modules и переустановка работала для меня .

0 голосов
/ 14 декабря 2018

Вам необходимо добавить плагин перед инициализацией вашего основного Vue экземпляра;Смотрите , используя vue plugins здесь , где написано:

Используйте плагины, вызывая глобальный метод Vue.use (). Это необходимо сделать перед запуском приложения, позвонив по номеру new Vue().

Для вашего случая переместите

import Vue from 'vue'
Vue.use(DatatableFactory)

к вашему main.js, так это выглядит так:

import Vue from 'vue'
Vue.use(DatatableFactory)

// some other code

new Vue({
...
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...