如何让你的插件兼容CommonJS, AMD, CMD 和 原生 JS

Posted 佛陀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让你的插件兼容CommonJS, AMD, CMD 和 原生 JS相关的知识,希望对你有一定的参考价值。

我们除了提供 AMD 模块接口,CMD 模块接口,还得提供原生的 JS 接口。
由于 CMDAMD 都可以使用 return 来定义对外接口,故可以合并成一句代码。

一个直接可以用的代码如下:

 
;(function(){
    function MyModule() {
        // ...
    }
    
    var moduleName = MyModule;
    if (typeof module !== ‘undefined‘ && typeof exports === ‘object‘) {
        module.exports = moduleName;
    } else if (typeof define === ‘function‘ && (define.amd || define.cmd)) {
        define(function() { return moduleName; });
    } else {
        this.moduleName = moduleName;
    }
}).call(function() {
    return this || (typeof window !== ‘undefined‘ ? window : global);
});

以上是关于如何让你的插件兼容CommonJS, AMD, CMD 和 原生 JS的主要内容,如果未能解决你的问题,请参考以下文章

把自己的js模块兼容到AMD CMD CommonJS

CommonJS和AMD

IE Tab插件,让你的Chrome浏览器也能完美兼容ie内核

CommonJs AMD CMD

Vue 是如何用 Rollup 打包的?

js模块化编程之CommonJS和AMD/CMD