web学习 -- CommonJS 规范


CommonJS 规范加载模块是同步的,即只有加载完成才能执行后面的操作。

模块规范

1、模块引用

使用require()方法,引入math模块,并赋值给变量math

var math=require('math');

注:命名的变量名和引入的模块名不必相同

路径

上面例子中require的参数仅仅是模块名字的字符串,没有带有路径,引用的是a.js所在当前目录下的node_modules目录下的math模块。如果当前目录没有node_modules目录或者node_modules目录里面没有安装math模块,便会报错。

如果要引入的模块在其他路径,就需要使用到相对路径或者绝对路径

var add=require('./add.js')

注:引入了当前目录下的add.js文件,并赋值给add变量

2、模块定义

  • module对象:在每一个模块中,module对象代表该模块自身。
  • export属性:module对象的一个属性,它向外提供接口。

假设上诉例子中add.js代码如下

function add(num1,num2){
	alert(num1+num2);
}

尽管a.js文件引入了add.js文件,前者却仍然无法使用后者中的add函数,在a.js文件中add(3,5)这样的代码会报错,提示add不是一个函数。

add.js中的函数要能被其他模块使用,就需要暴露一个对外的接口,export属性用于完成这一工作。将add.js中代码改为如下

exports.add=function (num1,num2){
	alert(num1+num2);
}

3、模块标识

模块标识指的是传递给require方法的参数,必须是符合小驼峰命名的字符串,或者以 . 、… 、开头的相对路径,或者绝对路径。

好处

  • CommonJS模块规范很好地解决变量污染问题,每个模块具有独立空间,互不干扰,命名空间等方案与之相比相形见绌。
  • CommonJS规范定义模块十分简单,接口十分简洁。
  • CommonJS模块规范支持引入和导出功能,这样可以顺畅地连接各个模块,实现彼此间的依赖关系。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值