写好jQuery插件,有一些注意的地方(持续添加)。

支持UMD

现在前端开发讲究模块化,所以jQuery插件也最好能够兼顾模块化。

模块化模式大概有几种: AMD、CommonJs、UMD。

AMD(Asynchronous Module Definition)

异步模块定义,可以异步的加载或依赖其他模块,支持的库如 Require.js, Sea.js 。

 例子:

// xxx-plugin.js
define(['jquery'], function ($) {
    function myFunc(){};
    return myFunc;
});

CommonJs

可以将Javascript按照 Node 模块的方式定义。

例子:

var $ = require('jquery');
function myFunc(){};
module.exports = myFunc;

UMD(Universal Module Definition)

为了兼容 AMD 和 CommonJs风格,出现了UMD。

代码:

(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 ($) {
    function myFunc(){};
    return myFunc;
}));

相关文章:

  • 2022-02-19
  • 2021-10-06
  • 2021-12-29
  • 2021-06-24
  • 2021-07-01
  • 2021-09-14
猜你喜欢
  • 2022-12-23
  • 2021-07-17
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
  • 2022-12-23
相关资源
相似解决方案