资讯专栏INFORMATION COLUMN

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

edagarli / 3067人阅读

摘要:前言大致记一下模块插件化的书写思路一般写法插件初始化入口获取传入参数获取传入参数获取传入参数获取传入参数插件公用方法插件公用方法初始化插件暴露模块方法调用方式引用模块插件调用插件公有方法注意事项插件初始化时,如果变量有缺省值,一般用逻辑插件

前言:

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

一般写法:
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.ucloud.cn/yun/111353.html

相关文章

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

    摘要:前言大致记一下模块插件化的书写思路一般写法插件初始化入口获取传入参数获取传入参数获取传入参数获取传入参数插件公用方法插件公用方法初始化插件暴露模块方法调用方式引用模块插件调用插件公有方法注意事项插件初始化时,如果变量有缺省值,一般用逻辑插件 前言: 大致记一下模块插件化的书写思路 一般写法: define(function(require, exports, module) { ...

    iKcamp 评论0 收藏0
  • 切图崽的自我修养模块插件书写方式

    摘要:前言大致记一下模块插件化的书写思路一般写法插件初始化入口获取传入参数获取传入参数获取传入参数获取传入参数插件公用方法插件公用方法初始化插件暴露模块方法调用方式引用模块插件调用插件公有方法注意事项插件初始化时,如果变量有缺省值,一般用逻辑插件 前言: 大致记一下模块插件化的书写思路 一般写法: define(function(require, exports, module) { ...

    ?xiaoxiao, 评论0 收藏0
  • 切图崽的自我修养-SeaJs重要概念剖析

    摘要:但是这么多模块合并在一个文件里,全是匿名的话,系统如何区别哪个是哪个模块呢因此,我们需要对这些模块给不同的进行标识。 前言 高能预警,前方山路十八弯 在上一篇文章里简单的讨论了一下模块化Js, 先来回顾一下目前模块化的两大规范: CommonJs 同步加载模块规范 AMD/CMD 异步加载模块规范 其中CMD规范的产出是国内目前十分火爆的SeaJs, 这篇文章主要是解释几个使用S...

    voidking 评论0 收藏0
  • 切图崽的自我修养-SeaJs重要概念剖析

    摘要:但是这么多模块合并在一个文件里,全是匿名的话,系统如何区别哪个是哪个模块呢因此,我们需要对这些模块给不同的进行标识。 前言 高能预警,前方山路十八弯 在上一篇文章里简单的讨论了一下模块化Js, 先来回顾一下目前模块化的两大规范: CommonJs 同步加载模块规范 AMD/CMD 异步加载模块规范 其中CMD规范的产出是国内目前十分火爆的SeaJs, 这篇文章主要是解释几个使用S...

    Taste 评论0 收藏0
  • 切图崽的自我修养-SeaJs重要概念剖析

    摘要:但是这么多模块合并在一个文件里,全是匿名的话,系统如何区别哪个是哪个模块呢因此,我们需要对这些模块给不同的进行标识。 前言 高能预警,前方山路十八弯 在上一篇文章里简单的讨论了一下模块化Js, 先来回顾一下目前模块化的两大规范: CommonJs 同步加载模块规范 AMD/CMD 异步加载模块规范 其中CMD规范的产出是国内目前十分火爆的SeaJs, 这篇文章主要是解释几个使用S...

    jhhfft 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<