簡體   English   中英

Vue.js如何使用NPM插件

[英]Vue.js how to use npm plugins

我已經在我的Vue.js cli Webpack項目中嘗試了多個不同的插件,但所有這些插件我都遇到了相同的問題,即一旦包含了插件,便無法使用它。

舉個例子。 我試圖在此鏈接上使用插件。 https://www.npmjs.com/package/vue-sessionstorage

這是我的main.js文件

import Vue from 'vue'
import router from './router'
import VueMaterial from 'vue-material'
import { store } from './store'
import 'vue-material/dist/vue-material.css'
import 'vue-style-loader'
import VueSessionStorage from 'vue-sessionstorage'

import App from './App'

Vue.use(VueMaterial, VueSessionStorage);


Vue.config.productionTip = false;


/* eslint-disable no-new */
new Vue({
    el: '#app',
    router,
    store,
    template: '<App/>',
    components: { App },

});

我已經運行npm install --save vue-sessionstorage

如您所見,我還導入了VueSessionStorage

但是,當我嘗試像這樣使用時

methods: {
            login: function () {
                console.log("Login clicked");
                this.$session.set('username','simon')
                console.log(this.$session.get('username'));
            },
            register: function () {
                console.log(this.$session.get('username'));

            }
        }

我得到錯誤

vue.esm.js?65d7:563 TypeError: Cannot read property 'set' of undefined
    at VueComponent.login (Login.vue?2ddf:35)
    at boundFn (vue.esm.js?65d7:179)
    at Proxy.invoker (vue.esm.js?65d7:1821)
    at Proxy.Vue.$emit (vue.esm.js?65d7:2331)
    at click (mdButton.vue?3bf8:38)
    at HTMLButtonElement.invoker (vue.esm.js?65d7:1821)
handleError @ vue.esm.js?65d7:563
Vue.$emit @ vue.esm.js?65d7:2333
click @ mdButton.vue?3bf8:38
invoker @ vue.esm.js?65d7:1821

Vue.use不允許像這樣一次初始化多個插件。 將它們初始化為兩個單獨的調用:

Vue.use(VueMaterial);
Vue.use(VueSessionStorage);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM