前言:
大致記一下模組外掛化的書寫思路
一般寫法:
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(){}
表私有方法 -
時刻謹記
單一職責原則
,一個基本方法只執行一個邏輯,如果有多個邏輯,請另外新增方法來對其他基本的顆粒化的方法進行組合,這樣可以降低複雜度,時刻保證整個外掛的易讀性
和可擴充套件性