zoukankan      html  css  js  c++  java
  • 初始AMD和Common.js

    其实就是为了多个库可以良好的合作的指定的规范

    AMD---require.js Asynchronous Module Definition (AMD)
    Here’s module foo with a single dependency on jquery:

    //    filename: foo.js
    define(['jquery'], function ($) {
        //    methods
        function myFunc(){};
    
        //    exposed public methods
        return myFunc;
    });
    

    第一部分是定义一个存放依赖的数组,第二部分是放当依赖可以被正常执行之后的回调函数

    //    filename: foo.js
    define(['jquery', 'underscore'], function ($, _) {
        //    methods
        function a(){};    //    private because it's not returned (see below)
        function b(){};    //    public because it's returned
        function c(){};    //    public because it's returned
    
        //    exposed public methods
        return {
            b: b,
            c: c
        }
    });
    

    多个依赖库的话,注意回调函数的参数,要对应好,如果我们将$换成$$的话,之后使用就只能使用$$的


    Common.js---和node的写法很像

    //    filename: foo.js
    
    //    dependencies
    var $ = require('jquery');
    
    //    methods
    function myFunc(){};
    
    //    exposed public method (single)
    module.exports = myFunc;
    
    //    filename: foo.js
    var $ = require('jquery');
    var _ = require('underscore');
    
    //    methods
    function a(){};    //    private because it's omitted from module.exports (see below)
    function b(){};    //    public because it's defined in module.exports
    function c(){};    //    public because it's defined in module.exports
    
    //    exposed public methods
    module.exports = {
        b: b,
        c: c
    };
    

    UMD:Universal Module Definition

    (function (root, factory) {
        if (typeof define === 'function' && define.amd) {
            // AMD
            define(['jquery'], factory);
        } else if (typeof exports === 'object') {
            // Node, CommonJS-like
            module.exports = factory(require('jquery'));
        } else {
            // Browser globals (root is window)
            root.returnExports = factory(root.jQuery);
        }
    }(this, function ($) {
        //    methods
        function myFunc(){};
    
        //    exposed public method
        return myFunc;
    }));
    
    (function (root, factory) {
        if (typeof define === 'function' && define.amd) {
            // AMD
            define(['jquery', 'underscore'], factory);
        } else if (typeof exports === 'object') {
            // Node, CommonJS-like
            module.exports = factory(require('jquery'), require('underscore'));
        } else {
            // Browser globals (root is window)
            root.returnExports = factory(root.jQuery, root._);
        }
    }(this, function ($, _) {
        //    methods
        function a(){};    //    private because it's not returned (see below)
        function b(){};    //    public because it's returned
        function c(){};    //    public because it's returned
    
        //    exposed public methods
        return {
            b: b,
            c: c
        }
    }));
    
  • 相关阅读:
    python xml dom
    python ::-1
    SigmoidCrossEntropyLoss
    pyplot
    注意mysql connector的版本
    caffe学习资料
    mysql中添加中文存储和显示功能
    centos7.3 安装cuda8.0的 坑
    Tree Widget -- 基本方法
    QLabel的使用
  • 原文地址:https://www.cnblogs.com/cyany/p/9175378.html
Copyright © 2011-2022 走看看