美文网首页
nodejs——commonJS

nodejs——commonJS

作者: 含泪若笑 | 来源:发表于2018-01-17 11:01 被阅读17次

Node 应用由模块组成,采用 CommonJS 模块规范。

每个模块有自己的变量和方法,需要一种方式去暴露和引用一个模块的变量和方法。require方法用于加载模块,module.exports和exports用于暴露方法。

module.exports和exports的区别:(1)module.exports 初始值为一个空对象 {};(2)exports 是指向的 module.exports 的引用;(3)require() 返回的是 module.exports 而不是 exports

写法:exports = module.exports = somethings,即 module.exports 指向新的对象时,exports 断开了与 module.exports 的引用,那么通过 exports = module.exports 让 exports 重新指向 module.exports 即可。

CommonJS模块的特点:(1)所有代码都运行在模块作用域,不会污染全局作用域。(2)模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。(3)模块加载的顺序,按照其在代码中出现的顺序。

AMD规范与CommonJS的区别:CommonJS规范加载模块是同步的,AMD规范则是非同步加载模块,允许指定回调函数。由于Node.js主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS规范比较适用。但是,如果是浏览器环境,要从服务器端加载模块,这时就必须采用非同步模式,因此浏览器端一般采用AMD规范。

CommonJS模块的加载机制是,输入的是被输出的值的拷贝。也就是说,一旦输出一个值,模块内部的变化就影响不到这个值。

相关文章

  • Commonjs规范

    CommonJS和AMD CommonJS Nodejs的模块系统就采用CommonJS模式。CommonJS标准...

  • nodejs03-commonjs

    CommonJs CommonJs是模块化的标准,nodejs是模块化的实现 nodejs模块 核心模块(node...

  • js模块化

    CommonJS CommonJS规范是诞生比较早的。NodeJS就采用了CommonJS。是这样加载模块: 这种...

  • node学习2

    什么是CommonJs? CommonJs就是模块化的标准,nodejs就是CommonJs(模块化)的实现 No...

  • nodejs——commonJS

    Node 应用由模块组成,采用 CommonJS 模块规范。 每个模块有自己的变量和方法,需要一种方式去暴露和引用...

  • 环境 & 调试

    Nodejs 环境 学习3个部分知识: CommonJs global process CommonJS 每一个文...

  • CommonJS规范源码深入剖析

    CommonJS简介 CommonJS是NodeJS内置的模块化方案。 CommonJS基于文件系统,每一个文件都...

  • nodejs06

    Commonjs commonjs模块规范,规定了Nodejs中模块规范,二进制规范,网络规范等。CommonJS...

  • NodeJs Module

    NodeJs简述 NodeJs使用的标准是CommonJS,所以在NodeJs中文件就是一个模块。 Node.js...

  • ES6模块化

    模块化技术有哪些:- CommonJS(nodejs)、ES6模块化、AMD、CMD等 CommonJS:Comm...

网友评论

      本文标题:nodejs——commonJS

      本文链接:https://www.haomeiwen.com/subject/vtadoxtx.html