#CommonJS

JavaScript模块化 之( Commonjs、AMD、CMD、ES6 modules)演变史

经常在工作中使用define(['./modulename'],function(modulename){}),require(['modulename'],function(modulename){}),module.exports=modulename,importmodulenamefrom'./modulena...

JavaScript模块化 --- Commonjs、AMD、CMD、es6 modules

今天面试问到模块化的发展,下面是我找来解释的比较明白的博客:随着前端js代码复杂度的提高,JavaScript模块化这个概念便被提出来,前端社区也不断地实现前端模块化,直到es6对其进行了规范,下面就介绍JavaScript模块化。   这篇文章还是希望能给大家一个比较好的思路,即JavaScript模块化是...

无编译/无服务器,实现浏览器的 CommonJS 模块化

平时经常会逛Github,除了一些star极高的大项目外,还会在Github上发现很多有意思的小项目。项目或是想法很有趣,或是有不错的技术点,读起来都让人有所收获。所以准备汇总成一个「漫游Github」系列,不定期分享与解读在Github上偶遇的有趣项目。本系列重在原理性讲解,而不会深扣源码细节。好了下面进入正题。本期...

前端模块化:CommonJS,AMD,CMD,ES6

模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有Commonjs、AMD、CMD以及ES6的模块系统Node.js是commonJS规范的主要实践者,它有四个重要的环境变量为模块化的实现提供支持:module、exp...

前端模块化CommonJS&ES6

模块化的开发方式可以提高代码复用性,方便进行代码管理。通常一个文件就是一个模块,有自己的作用域,只对外暴露特定的变量和函数。目前比较流行的js模块化规范有commonJS、AMD、CMD以及ES6的模块系统。一、CommonJS(同步加载模块)允许模块通过require方法来同步加载所要依赖的其他模块,然后通过expo...
代码星球 ·2020-11-21

commonJS规范基本结构

commonJS规范:使用 module.exports 和 require ,基本结构如下://foo.js输出模块module.exports=function(x){console.log(x);};//main.js引用模块varfoo=require("./foo");...
代码星球 ·2020-08-19

AMD、CMD、CommonJs和es6对比

一、AMD是RequireJs在推广过程中对模块定义的规范化产出。1define(['package/lib'],function(lib){2functionfoo(){3lib.log("helloworld");4};5return{6foo:foo7};8})特点是:依赖前置,异步模块定义 二、CMD...
代码星球 ·2020-07-14

ES6模块和commonjs模块的区别

1.commonjs模块输出的是值的浅拷贝,ES6模块输出的是值的引用(也就是说,cmmonjs模块输出后被改变,其他引用模块不会改变,而ES6模块会改变)2.commonjs模块是运行时加载,而ES6模块是编译时输出接口,之所以webpack的tree-shaking只能作用于ES6模块,就是因为ES6模块在编译时就...
代码星球 ·2020-06-29

commonjs,AMD,CMD区别

Commonjs同步加载,一个文件一个模块,require引入,module.exports导出,无需define包装AMD异步加载,需要define包装,依赖前置(执行前加载和执行依赖),模块提前执行(requirejs2.0开始可以延迟执行)CMD异步加载,需要define包装,依赖就近(执行时加载和执行依赖),模...
代码星球 ·2020-06-28

兼容amd,commonjs和browser的模块写法

从uuid.js中抽出来的写法。(function(){  var_global=this;  //ExportpublicAPI  varobj={};  obj.attr=function(params){  };  if(typeofdefine==='function'&&define.amd)...

深入理解CommonJS!

CommonJS  一开始大家都认为JS是辣鸡,没什么用,官方定义的API只能构建基于浏览器的应用程序,CommonJS就按耐不住了,CommonJSAPI定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标准库。这样的话,开发者可以...
代码星球 ·2020-06-27

理解JS中的模块规范(CommonJS,AMD,CMD)

  随着互联网的飞速发展,前端开发越来越复杂。本文将从实际项目中遇到的问题出发,讲述模块化能解决哪些问题,以及如何使用Sea.js进行前端的模块化开发。  我们从一个简单的习惯出发。我做项目时,常常会将一些通用的、底层的功能抽象出来,独立成一个个函数,比如functioneach(arr){//实现代码}functio...

关于 CommonJS AMD CMD UMD 规范的差异总结

一、CommonJS 主要是用于服务器端的规范,比如目前的nodeJS.根据CommonJS规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在一个文件定义的变量(还包括函数和类),都是私有的,对其他文件是不可见的。//foo.jsvarrequest=require('reques...
代码星球 ·2020-06-16

使用Browserify来实现CommonJS的浏览器加载

  Nodejs的模块是基于CommonJS规范实现的,可不可以应用在浏览器环境中呢?varmath=require('math');math.add(2,3);  第二行math.add(2,3),在第一行require('math')之后运行,因此必须等math.js加载完成。也就是说,如果加载时间很长,整个应用就...

Commonjs规范及Node模块实现

  Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性。本文将详细介绍NodeJS的模块实现 引入  nodejs是区别于javascript的,在javascript中的顶层对象是window,而在node中的顶层对象是global  [注意...
首页上一页12下一页尾页