commonjs
从第一次接触node.js到现在时间不短了,那时node.js还是0.5版本,现在最新版是0.10版本。从这个版本号你可以发现node.js的版本号很有趣,需要你注意,如0.8.5版本低于0.8.14版本。 当时也就是因为好奇所以拿来玩玩,记得是和HTML5的WebSocket一起玩的,现如今WebSocket在我的工作中成为了最重要的数据通道,而node.js也有它发挥的空间
模块化编程使得开发者可以将一个大型的程序拆分成多个小的模块,由每一个模块提供可靠的抽象和封装,确保每一个模块正常工作,再拼装起来,这一思想使得 多人协作参与的大型程序开发更可控,对 debug 和测试等更友好。 Node.js 自诞生就开始支持模块化的,但浏览器的世界里这个过程依然 处于缓慢的发展之中。Webpack 这类工具的诞生也是为了解决这个问题,使得我们可以不用顾虑全局变量之类的各种问题编写各种模块,最后再打包成一个文件
Axel Rauschmayer博士正式公布了ECMAScript 6(ES6)模块语法的最终细节。 Rauschmayer在文章“ECMAScript 6模块:最终语法”中详细描述了完整的ES6模块系统,包括ECMAScript 6模块、模块元数据和ECMAScript 6模块加载器的API等。 据Rauschmayer所述,ES6模块的目标是创建一种让CommonJS和AMD用户都感到满意的格式,由于这种模式是内置于语言之中的,因此其能力超越了CommonJS和AMD
先来看下,它在维基百科上的定义: CommonJS 是一个项目,其目标是为 JavaScript 在网页浏览器之外创建模块约定。创建这个项目的主要原因是当时缺乏普遍可接受形式的 JavaScript 脚本模块单元,模块在与运行JavaScript 脚本的常规网页浏览器所提供的不同的环境下可以重复使用。 我们知道,很长一段时间 JavaScript 语言是没有模块化的概念的,直到 Node.js 的诞生,把 JavaScript 语言带到服务端后,面对文件系统、网络、操作系统等等复杂的业务场景,模块化就变得不可或缺
Node.js中Buffer简介: JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区 Node.js Buffer(缓冲区) JavaScript 语言自身只有字符串数据类型,没有二进制数据类型
Kotlin 提供了 JavaScript 作为目标平台的能力。它通过将 Kotlin 转换为 JavaScript 来实现。目前的实现目标是 ECMAScript 5.1,但也有最终目标为 ECMAScript 2015 的计划
模块化编程使得开发者可以将一个大型的程序拆分成多个小的模块,由每一个模块提供可靠的抽象和封装,确保每一个模块正常工作,再拼装起来,这一思想使得 多人协作参与的大型程序开发更可控,对 debug 和测试等更友好。 Node.js 自诞生就开始支持模块化的,但浏览器的世界里这个过程依然 处于缓慢的发展之中。Webpack 这类工具的诞生也是为了解决这个问题,使得我们可以不用顾虑全局变量之类的各种问题编写各种模块,最后再打包成一个文件
Promise对象是CommonJS工作组提出的一种规范,目的是为异步操作提供统一接口。 首先,它是一个对象,也就是说与其他JavaScript对象的用法,没有什么两样;其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介。它使得异步操作具备同步操作的接口,使得程序具备正常的同步运行的流程,回调函数不必再一层层嵌套
模块就是一个js文件,在模块内部任何变量或其他对象都是私有的,不会暴露给外部模块。在CommonJS模块化规范中,在模块内部定义了一个module对象,module对象内部存储了当前模块的基本信息,同时module对象中有一个属性名为exports,exports用来指定需要向外部暴露的内容。只需要将需要暴露的内容设置为exports或exports的属性,其他模块即可通过require来获取这些暴露的内容 当我们要加载的模块是一个文件模块时,CommonJS规范会先去寻找该文件,比如:require("./m1")时,会首先寻找名为m1的文件
