前言:
大体记一下模块插件化的书写思路ui
通常写法:
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(); //调用插件公有方法
注意事项:
插件初始化时,若是变量有
缺省值
, 通常用||
逻辑this插件内
私有变量
,私有方法
一概加下划线为标识, 好比_parameter1
表示私有变量,_fun1(){}
表私有方法插件时刻谨记
单一职责原则
,一个基本方法只执行一个逻辑,若是有多个逻辑,请另外新增方法来对其余基本的颗粒化的方法进行组合,这样能够下降复杂度,时刻保证整个插件的易读性
和可扩展性
code