首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NodeJS学习二CommonJS规范

Node模块采用了CommonJS规范。 根据CommonJS规范,一个单独的文件就是一个模块。...AMD规范CommonJS规范的兼容性 CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。AMD规范则是非同步加载模块,允许指定回调函数。...由于Node.js主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS规范比较适用。...; } return { foo: foo }; }); AMD规范允许输出的模块兼容CommonJS规范,这时define方法需要写成下面这样: define(function...require的内部处理流程 require命令是CommonJS规范之中,用来加载其他模块的命令。

53820
您找到你想要的搜索结果了吗?
是的
没有找到

Node基础-CommonJS模块化规范

模块规范调取使用(也就是不能在JS中通过REQUIRE调取使用) [安装在本地的特点] 1.只能当前项目使用这个模块 ->不能直接的使用命令操作(安装在全局可以使用命令) 为啥安装在全局下可以使用命令...模块规范设计的,所以模块是NODE的组成 内置模块:NODE天生提供给JS调取使用的 第三方模块:别人写好的,我们可以基于NPM安装使用 自定义模块:自己创建一些模块 CommonJS模块化设计的思想(...) 2.CommonJS中可以允许模块中的方法互相的调用 B模块中想要调取A模块中的方法 =>A导出 =>B导入 [导出] CommonJS给每一个模块...提供的内置变量,用来导入模块的(其实导入的就是module.exports暴露出来的东西);导入的值也是[object]类型的; CommonJS特点: 1....CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。

61320

commonJS规范及nodejs的模块儿机制

今天要重新回顾一下commonJS规范及nodejs的模块儿机制,这篇讲不完的话, 下篇会接着聊这个话题。 规范和模块机制产生的背景 Javascript在很长一段时间内被认为是一种网页脚本。...Commonjs规范的远景 Commonjs规范 的一个出发点是:希望javascript能够运行在任何地方。...Commonjs规范 为JavaScript开发大型应用指明了道路,这些规范包括:模块,二进制,Buffer,字符集,I/O流,文件系统,套接字......Commonjs规范的使用 Commonjs规范 的使用非常简单,主要有模块引用,模块定义,模块标识三个部分。 模块引用。...在Node中引入模块,大致会经历这么几个过程: 路径分析 文件定位 编译执行 今天先分享到这里,下篇文章会讲解这几个过程 总结 CommonJs规范背景 CommonJs规范可以解决什么问题 CommonJs

32410

前端基础-Node模块化及CommonJS规范

第4章 Node模块化及CommonJS规范 通过前面几个章节的学习, 我们基本掌握了NodeJS编程的基础知识, 但是我们也直观的发现了一个问题,和我们之前学习浏览器编程时JS, 差异还是很大的; 都是...Electron 跨平台的桌面应用框架: https://electronjs.org/ 4.1 CommonJS规范的由来 JS 的表现的表现能力取决于宿主环境提供的API, 在web1.0 时代...Kevin Dangoor于2009年1月提出名为 ServerJS 的规范; 2009年8月,更名为*CommonJS,*以显示 API 的更广泛适用性。...4.2 CommonJS 的模块规范 CommonJS对模块的定义十分简单,主要分为: 1、模块引用: 使用 require() 方法引入一个模块API ; 2、模块定义: 在模块中使用 exports...以上代码就是自定义模块的基本规则 这是重点 4.4 模块加载的顺序和规则 在 CommonJS 规范中,使用 require() 加载(引入) 模块时,模块标识必须使用相对路径或绝对路径指明模块位置,

68430

手摸手带你撸一个CommonJs规范

Node系列-上一节事件循环详解 目录 为什么会有模块化 防止代码重名 变量污染全局 太长,使用不爽 怎么实现模块化的思路 闭包 以前的废弃了 AMD、CMD 现代使用Node:CommonJs、es6...:esModule CommonJs:node主用 如何自己撸一个 esModule 待完善 为什么需要模块化 随着前端的发展,页面特效、交互都在前端层面实现,前端的代码逻辑复杂度增加。...直接定义依赖(1999) 直接定义依赖和现在流行的CommonJs相似,不同点在于CommonJs中定义一个文件即一个模块,而它则可以再任何文件中定义模块,模块和文件不关联。Dojo的思想。...UMD(2011) 兼容了CommonJs和AMD,核心思想是如果在CommonJs环境下,即存在module.exports,不存在define时将函数执行结果交给module.exports实现CommonJs...如何实现一个CommonJs规范 本文的重点是解析CommonJs规范的核心思想。

26220

CommonJS——

CommonJS(http://www.commonjs.org/)规范为JavaScript制定了一个美好的愿景——希望JavaScript能够在任何地方运行。...CommonJS对模块的定义主要分为模块引用、模块定义和模块标识3个部分。 1. 模块定义 在CommonJS规范中,使用exports对象用于导出当前模块的方法或者变量,并且它是唯一导出的出口。...模块引用 在CommonJS规范中,使用require()方法接受模块标识,以此引入一个模块的API到当前上下文。同步加载!...四、NPM、NodeJS、CommonJS关系 NodeJS借鉴CommonJS的Modules规范实现了一套非常易用的模块系统,NPM对Packages规范的完美支持使得Node应用在开发过程中事半功倍...Node能以一种较成熟的姿态出现,离不开CommonJS规范的影响。在服务器端,CommonJS能以一种寻常的姿态进入各个公司的项目代码中,离不开Node优异的表现。

52931

CommonJS

理论和实践总是相互影响和促进的,NodeJS能以一种比较成熟的姿态出现,离不开CommonJS规范的影响,同样,在服务端,CommonJS能以一种寻常的姿态写进各个公司的项目中,也离不开NodeJS优异的表现...,下图是NodeJS与W3C、还有浏览器,CommonJS组件、ES规范之间的关系: NodeJS借鉴了CommonJS的模块化规范实现了一套非常易用的模块。...CommonJS规范 CommonJS对模块的定义十分简单,主要分为模块引用、模块定义、模块标识三个部分。...CommonJS模块规范也允许在标识符中不包含文件扩展名,这种情况下,Node会按.js、.json、.node的次序补足扩展名,依次尝试。...在这个过程中,NodeJS对CommonJS规范进行了一定程度的支持。

15510

CommonJS 详细介绍

CommonJS 规范与实现 正如当年为了统一 JavaScript 语言标准,人们制定了 ECMAScript 规范一样,如今为了统一 JavaScript 在浏览器之外的实现,CommonJS 诞生了...CommonJS 的终极目标是制定一个像 C++ 标准库一样的规范,使得基于 CommonJS API 的应用程序可以在不同的环境下运行,就像用 C++ 编写的应用程序可以使用不同的编译器和运行时函数库一样...Node.js 是目前 CommonJS 规范最热门的一个实现,它基于 CommonJS 的 Modules/1.0 规范实现了 Node.js 的模块,同时随着 CommonJS 规范的更新,Node.js...CommonJS 规范的实现 Node.js 的模块和包机制的实现参照了 CommonJS 的标准,但并未完全遵循。...CommonJS 中的 Require 建议阅览:CommonJS require 规范

99820

commonjs与es6 module

当前最主流的两个模块化方案:nodejs使用的是commonjs规范、前台浏览器端主要使用的是es6 Module nodejs当前就是commonjs规范的代表实践者,因此用的是require。...用法如下: ES6 Module export a = 1 export default b = 2 import { a } from x.js import b from x.js commonjs...exports.a = {} // 不能重写 exports,比如:exports = { a: {} } 调用方法 var x = require('x.js') console.log(x.a, x.b) commonjs...和es6 module对比 1.commonjs输出的是值的拷贝、es6 输出的是值的引用 2.commonjs是运行时加载,es6 是编译时输出接口 对待循环引用的区别: es6模块,遇到模块加载命令...CommonJS模块,的特性是加载时执行,在首次加载的时候就已经执行出结果了,此结果会一直缓存在内存中,等需要用到的时候直接取用缓存结果,因此,如果出现循环引用,只会输出已经执行的部分 其它,amd、cmd

26920

nodejs学习一CommonJS和AMD

CommonJS CommonJS本质上就是一个规范,它并不提供默认实现,而是要求一些JavaScript库、框架、环境……去实现它的这些API定义。 那么,都有哪些API层面的定义呢?...node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载。...规范不适用于浏览器环境。...这就是AMD规范诞生的背景。 AMD是”Asynchronous Module Definition”的缩写,意思就是”异步模块定义”。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。...目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。 参考文档: 1.wiki-CommonJS

65120
领券