切圖崽的自我修養-模組外掛化書寫方式

大切圖崽發表於2019-02-16

前言:

大致記一下模組外掛化的書寫思路


一般寫法:


define(function(require, exports, module) {

        var plugin = {
            
            //外掛初始化入口
            init : function(options){
                var that=this;
                this.parameter1   = options.parameter1 || {};  //獲取傳入引數
                this.parameter2   = options.parameter2 || {};   //獲取傳入引數
                this.fun1  = options.fun1 || function(){};  //獲取傳入引數
                this.fun2 = options.fun2 || function(){};  //獲取傳入引數
                this.method1();
                ...
            }, 
            
            //外掛公用方法1
            method1:function(){
                var that=this;
                ...
            },
    
            //外掛公用方法2
            method2:function(){
                var that=this;
                ...
            },
                        
            ...
    
    }
        
        plugin.init(); //初始化外掛
        module.exports = plugin;  //暴露模組/方法
    });

呼叫方式:

var plugin = require(`./plugin`); //引用模組外掛
plugin.method1();                 //呼叫外掛公有方法

注意事項:

  • 外掛初始化時,如果變數有預設值, 一般用 || 邏輯

  • 外掛內私有變數私有方法一律加下劃線為標識, 比如_parameter1表示私有變數, _fun1(){}表私有方法

  • 時刻謹記單一職責原則,一個基本方法只執行一個邏輯,如果有多個邏輯,請另外新增方法來對其他基本的顆粒化的方法進行組合,這樣可以降低複雜度,時刻保證整個外掛的易讀性可擴充套件性

相關文章