node之CommonJS规范

  模块加载机制被称为CommonJS规范。在这个规范下,每个.js文件都是一个模块,它们内部各自使用的变量名和函数名都互不冲突,例如,hello.jsmain.js都申明了全局变量var s = ‘xxx‘,但互不影响。

  一个模块想要对外暴露变量(函数也是变量),可以用module.exports = variable;,一个模块要引用其他模块暴露的变量,用var ref = require(‘module_name‘);就拿到了引用模块的变量。

  总结:

  要在模块中对外输出变量,用:

    module.exports = variable;

  输出的变量可以是任意对象、函数、数组等等。

  要引入其他模块输出的对象,用:

    var foo = require(‘other_module‘);

  引入的对象具体是什么,取决于引入模块输出的对象。

时间: 2024-11-08 05:56:37

node之CommonJS规范的相关文章

【转】Commonjs规范及Node模块实现

前言: Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javascript的,在javascript中的顶层对象是window,而在node中的顶层对象是global [注意]实际上,javascript也存在global对象,只是其并不对外访问,而使用window对象指向global对象而已 在javascript中,通过var a = 100:是可以通过wi

Node.js相关——CommonJS规范

1. CommonJS规范产生背景 在后端,JavaScript的规范远远落后并且有很多缺陷,这使得难以使用JavaScript开发大型应用.比如: 没有模块系统 标准库较少 没有标准接口 缺乏包管理系统 CommonJS规范 的提出,主要是为了弥补JavaScript没有标准的缺陷.CommonJS API将通过定义处理许多常见应用程序需求的API来填补这一空白,最终提供与Python,Ruby和Java一样丰富的标准库.以达到像Python.Ruby和Java那样具备开发大型应用的基础能力,

Node基础-CommonJS模块化规范

1.在本地项目中基于NPM/YARN安装第三方模块 第一步:在本地项目中创建一个"package.json"的文件 作用:把当前项目所有依赖的第三方模块信息(包含:模块名称以及版本号等信息)都记录下来:可以在这里配置一些可执行的命令脚本等: 基于YARN会默认生成一个"配置清单",只是信息没有手动创建的全面 npm init -y 或者 yarn init -y 创建配置清单的时候,项目目录中不应该出现中文和特殊符号,这样有可能识别不了 第二步:安装 开发依赖:只有

commonjs 规范

CommonJS规范 1. 概述 Node程序由许多个模块组成,每个模块就是一个文件.Node模块采用了CommonJS规范. 根据CommonJS规范,一个单独的文件就是一个模块.每一个模块都是一个单独的作用域,也就是说,在一个文件定义的变量(还包括函数和类),都是私有的,对其他文件是不可见的. //example.jsvar x = 5;var addX = function(value) {    return value + x;}在上述代码中,变量x和addX, 是当前文件exampl

CommonJS规范(转)

概述 CommonJS是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象.下面就是一个简单的模块文件example.js. console.log("evaluating example.js"); var invisible = function () { console.log("invisible"); } e

该如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结

是一篇关于javascript模块化AMD,CMD,CommonJS的学习总结,作为记录也给同样对三种方式有疑问的童鞋们,有不对或者偏差之处,望各位大神指出,不胜感激. 本篇默认读者大概知道require,seajs的用法(AMD,CMD用法),所以没有加入使用语法. 1.为何而生: 这三个规范都是为javascript模块化加载而生的,都是在用到或者预计要用到某些模块时候加载该模块,使得大量的系统巨大的庞杂的代码得以很好的组织和管理.模块化使得我们在使用和管理代码的时候不那么混乱,而且也方便了

CommonJS规范 by ranyifeng

1,概述 CommonJS是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象.下面就是一个简单的模块文件example.js. console.log("evaluating example.js"); var invisible = function () { console.log("invisible"); }

AMD、CMD和CommonJS规范(转)

CommonJS规范 CommonJS是在浏览器环境之外构建JavaScript生态系统为目标产生的项目,比如服务器和桌面环境中.CommonJS规范是为了解决JavaScript的作用域问题而定义的模块形式, 可以使每个模块在它自身的命名空间中执行.该规范的主要内容是:模块必须通过  module.exports导出对外的变量或接口,通过require()来导入其他模块的输出到当前模块. 例子: // moduleA.js module.exports = function( value ){

你对CommonJS规范了解多少?

写在前面 为什么会出现CommonJS规范? 因为JavaScript本身并没有模块的概念,不支持封闭的作用域和依赖管理,传统的文件引入方式又会污染变量,甚至文件引入的先后顺序都会影响整个项目的运行.同时也没有一个相对标准的文件引入规范和包管理系统,这个时候CommonJS规范就出现了. CommonJS规范的优点有哪些? 首先要说的就是它的封装功能,模块化可以隐藏私有的属性和方法,这样不需要别人在重新造轮子. 第二就是它能够封装作用域,保证了命名空间不会出现命名冲突的问题. 第三nodejs中