如何让你的插件兼容commonjs,amd,cmd和原生js

佛陀      2022-02-13     773

关键词:

我们除了提供 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中的模块规范(CommonJS,AMD,CMD)一,CommonJSNodeJS是CommonJS规范的实现,webpack也是以CommonJS的形式来书写.在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限,但在服务器端,一定要有模块,与操作系统和其他应... 查看详情

彻底弄懂commonjs和amd/cmd!

JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。 现在就看看吧,这些规范到底是啥东西,干嘛的。本文包括这... 查看详情

commonjs/amd/cmd/umd概念初探

1、CommonJS是一种规范,NodeJS是这种规范的实现。1.1、CommonJS加载模块是同步的,所以只有加载完成才能执行后面的操作。2、AMD是RequireJS在推广过程中对模块定义的规范化产出。2.1、AMD异步加载模块。3、CMD是SeaJS在推广过程中对模... 查看详情

了解js模块规范:amd,cmd,commonjs

...处理模块之间的依赖关系成为了维护的关键。 AMD,CMD,CommonJS是目前最常用的三种模块化书写规范。CommonJSCommonJS规范是诞生比较早的。Node.js(是一个Javascript运行环境(runtime))就采用了CommonJS。是这样加载模块://foo.jsmodule.exports=fu... 查看详情

浅析js模块规范:amd,cmd,commonjs

...块之间的依赖关系成为了维护的关键。 模块化AMD,CMD,CommonJS是目前最常用的三种模块化书写规范。CommonJSCommonJS规范是诞生比较早的。NodeJS就采用了CommonJS。是这样加载模块:varclock=require(‘clock‘);clo 查看详情

理解js中的模块规范(commonjs,amd,cmd)

  随着互联网的飞速发展,前端开发越来越复杂。本文将从实际项目中遇到的问题出发,讲述模块化能解决哪些问题,以及如何使用Sea.js进行前端的模块化开发。恼人的命名冲突  我们从一个简单的习惯出发。我做项目时,... 查看详情

浅析js中的模块规范(commonjs,amd,cmd)////////////////////////zzzzzz

浅析JS中的模块规范(CommonJS,AMD,CMD) 如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。   现在就看看吧,这些规范到底是啥东西,干嘛... 查看详情

关于commonjs,amd,cmd之间的异同(代码片段)

...为一个大的趋势。而在ES6还未被浏览器所支持的情况下,commonjs作为ES6中标准模块加载方案,在客服端中的支持情况并不好,现在在客服端中有2中模块化的解决方案,CMD和AMD,他们的代表分别为seajs和requirejs。这篇文章主要介绍... 查看详情

javascript模块规范:commonjs,amd,cmd

CommonJS/Nodejs实现Node.js上下文提供的变量require:函数,用于引用依赖模块,依赖模块被引用为对象,即可食用提供的方法和变量,require()接受一个模块标识参数。module:对象,代表当前模块本身exports:对象,module的属性,作为模... 查看详情

amd,cmd.commonjs和umd还有es6的模块化对比

CommonJSCommonJS是服务器端模块的规范,Node.js采用了这个规范。根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象。例如://foobar.js//私有变量varte... 查看详情

前端模块化小总结—commonjs,amd,cmd,es6的module

随着前端快速发展,需要使用javascript处理越来越多的事情,不在局限页面的交互,项目的需求越来越多,更多的逻辑需要在前端完成,这时需要一种新的模式 --模块化编程 模块化的理解:模块化是一种处理复杂系统分解... 查看详情

commonjsamd和cmd之间的区别

JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。 现在就看看吧,这些规范到底是啥东西,干嘛的。 一、Comm... 查看详情

前端模块化

  前端模块规范有三种:CommonJs,AMD和CMD。  CommonJs用在服务器端,AMD和CMD用在浏览器环境  AMD是RequireJS在推广过程中对模块定义的规范化产出。  CMD是SeaJS在推广过程中对模块定义的规范化产出。  AMD:提前执行(异步... 查看详情

前端模块化:cmd规范

...inition)是国内大牛玉伯在开发SeaJS的时候提出来的,属于CommonJS的一种规范,根据浏览器的异步环境做了自己的实现。它和AMD很相似,尽量保持简单,并与CommonJS和Node.js的Modules规范保持了很大的兼容性。 2define方法:定义模... 查看详情

amdcmdcommonjs规范

AMD、CMD、CommonJs规范 将js代码分割成不同功能的小块进行模块化的概念是在一些三方规范中流行起来的,比如CommonJS、AMD和CMD。接下来我们看一下这几种规范。 一、模块化规范    CommonJs是使用在服务器端,是... 查看详情

前端-模块化

前端模块规范有三种:CommonJs,AMD和CMD。CommonJs用在服务器端,AMD和CMD用在浏览器环境AMD是RequireJS在推广过程中对模块定义的规范化产出。CMD是SeaJS在推广过程中对模块定义的规范化产出。AMD:提前执行(异步加载:依赖先执行)+延... 查看详情

把自己的js模块兼容到amdcmdcommonjs

...何将hello()方法定义到不同的运行环境中,它能够兼容Node(CommonJS),AMD,CMD以及常见的浏览器环境中:(function(name,definition){//检测上下文环境是否为AMD或 查看详情

amd与cmd

...数才会运行。AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数:  require([module],callback); 查看详情