Не видит подключенный в main.js vue-resource

102
16 декабря 2020, 11:50

Я подключил в main.js vue-resource

import Vue from 'vue'
import './plugins/vuetify'
import App from './App.vue'
import router from './router'
import store from './store'
import vueResource from "vue-resource"
Vue.use(vueResource);
Vue.config.productionTip = false;
new Vue({
  router,
  store,
  components: {App},
    render: h => h(App)
}).$mount("#app");

Затем использую его в модуле store user.js файл store/index.js

import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import common from './modules/common'
Vue.use(Vuex);
export default new Vuex.Store({
    modules: {
        common,
        user
    }
})

В компоненте файл store/modules/user.js

import Vue from 'vue'
// import vueResource from "vue-resource";
//
// Vue.use(vueResource);
//
let userRequest = Vue.resource('/user{/id}')

Код работает только если раскомментировать код выше

Ошибка

user.js?0f9a:7 Uncaught TypeError: vue__WEBPACK_IMPORTED_MODULE_2__.default.resource is not a function

let userRequest = Vue.resource('/user{/id}') - место ошибки

Answer 1

Выдержка из документации:

Некоторые официальные плагины Vue.js, такие как vue-router, автоматически вызывают Vue.use(), если обнаружат глобальную переменную Vue. Однако при использовании инструментов модульного окружения, например CommonJS, необходимо всегда вызывать Vue.use() явно:

// При использовании CommonJS посредством Browserify или Webpack
var Vue = require('vue')
var VueRouter = require('vue-router')
// Не забудьте этот вызов!
Vue.use(VueRouter)

Конец цитаты.

Под глобальной переменной подразумевается подключение vuejs следующим образом:

window.Vue = require('vue');

Таким образом, в вашем случае необходимо писать Vue.use(...):

import Vue from 'vue'
import VueResource from 'vue-resource'
Vue.use(VueResource)
READ ALSO
всплытие и перехват js

всплытие и перехват js

Скажите пожалуйста как сделать так, чтобы вместо eventtarget

142
Печать и снимок объекта

Печать и снимок объекта

Есть объект с идентификаторомdiscussions и кнопка

113
Заменить %20 на пробел

Заменить %20 на пробел

Народ всем привет! Есть импут через который проходят поисковые запросы, когда в импут вбивается 1 слово поиск работает корректно но когда...

120