zoukankan      html  css  js  c++  java
  • javascript的模块化封装技巧:同时支持AMD和原生直接引用

    并不是什么新鲜东西,很多JS库都使用这种方式进行模块化封装,便于各种情况下的引用。

    假设开发完成的JS库(模块):myjssdk.js,使用原生及AMD的引用方式如下:

    1、原生方式:

    <script src="//www.test.com/myjssdk.js"></script>
    

    2、AMD方式:

    <!-- 需要先引入requirejs库,并在config文件中注册“myjssdk” -->
    <script>
    require(['myjssdk'], function(jssdk){
      jssdk.info();
    });
    </script>

    实现方式:

    (function (global, factory) {
    	
        if (typeof define === 'function' && define.amd) {
            // AMD规范
            define(factory);
        } else {
            // 浏览器注册全局对象,自定义对象名:MyJSSDK
            global.MyJSSDK = factory();
        }
    	
    })(this, (function () {
    	
        //主要业务逻辑
        function say() {
            console.log('hello jssdk');
        }
    
        //对外暴露方法
        return {
            say: say
        }
    	
    }))

    还可以按照这种方式继续扩展,支持CMD、CommonJS、ES6等模块的封装。

    版权声明: 本文为博主 网无忌 原创文章,欢迎转载,但请务必标注原文链接。

    本文链接: https://www.cnblogs.com/netWild/p/15685653.html

  • 相关阅读:
    数组分割成多个数组
    node-inspector调试工具
    6.17周六随写
    JavaScript设计模式
    JavaScript设计模式
    async源码学习
    Linux信号列表
    php常用Stream函数集介绍
    php进程控制
    php 单例模式与常驻服务
  • 原文地址:https://www.cnblogs.com/netWild/p/15685653.html
Copyright © 2011-2022 走看看