V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZGLHHH
V2EX  ›  Vue.js

VueJS 插件开发问题

  •  
  •   ZGLHHH · 2016-10-04 15:32:31 +08:00 · 2875 次点击
    这是一个创建于 2775 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想把store.js整合,使其能通过Vue.localstorethis.$localstore调用

    但是却报错: http://i.imgur.com/f0qs6om.png

    插件代码如下:

    import store from "store";
    
    (function(){
    
        function install(Vue){
            Object.defineProperty(Vue.prototype, '$localstore',{
                get(){
                    return {
    
                        get(key){
                            return store.get(key);
                        },
    
                        set(key,value){
                            return store.set(key,value);
                        },
    
                        remove(key){
                            return store.remove(key);
                        }
                    }
    
                }
            });
    
        }
    
    
        if (typeof exports == "object") {
            module.exports = install
        } else if (typeof define == "function" && define.amd) {
            define([], function(){ return install })
        } else if (window.Vue) {
            Vue.use(install)
        }
    
    })()
    

    调用代码如下:

    import VueStore from './plugins/localstore.js';
    Vue.use(VueStore);
    Vue.localstore.get('token');
    
    8 条回复    2016-10-04 18:08:03 +08:00
    ChiangDi
        1
    ChiangDi  
       2016-10-04 15:59:04 +08:00 via Android
    直接用原来的不好吗。。。都有模块系统了,为什么要把它挂在 Vue 下面??
    ZGLHHH
        2
    ZGLHHH  
    OP
       2016-10-04 16:08:14 +08:00
    @ChiangDi 那就要在每个组件都 import 一次
    SourceMan
        3
    SourceMan  
       2016-10-04 16:39:12 +08:00 via iPhone
    @ZGLHHH 每个组件都头部声明好依赖不是挺清晰的吗?
    learnshare
        4
    learnshare  
       2016-10-04 16:49:21 +08:00
    @ZGLHHH 每个组件 import 一次,不正是组件化的好处么?
    ZGLHHH
        5
    ZGLHHH  
    OP
       2016-10-04 16:54:01 +08:00
    @learnshare
    @SourceMan

    呃,这样做不会令 js 文件变大吗?
    SourceMan
        6
    SourceMan  
       2016-10-04 17:12:34 +08:00 via iPhone
    @ZGLHHH 声明依赖并不是重复引用
    learnshare
        7
    learnshare  
       2016-10-04 18:04:09 +08:00
    @SourceMan 是的,模块只引入一次,多处引用
    ZGLHHH
        8
    ZGLHHH  
    OP
       2016-10-04 18:08:03 +08:00
    @SourceMan
    @learnshare

    十分感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1290 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:02 · PVG 02:02 · LAX 11:02 · JFK 14:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.