切图崽的自我修养-模块插件化书写方式

前言:

大致记一下模块插件化的书写思路


一般写法:


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(){}表私有方法

  • 时刻谨记单一职责原则,一个基本方法只执行一个逻辑,如果有多个逻辑,请另外新增方法来对其他基本的颗粒化的方法进行组合,这样可以降低复杂度,时刻保证整个插件的易读性可扩展性

原文地址:https://www.cnblogs.com/10manongit/p/12627352.html