CommonJS模块化设计

  • CommonJS规定,每一个JS都是一个单独的模块(模块是私有的:里面涉及的值和变量以及函数等都是私有的,和其它JS文件中的内容不冲突)
  • CommonJS中可以允许模块中的方法互相调用
    B模块想要调取A模块的方法
    A导出 B导入
    [导出]
    CommonJS给每一个模块都设置了内置的变量/属性/方法
    module: 代表当前这个模块对象
    module.exports : 模块这个属性用来导出“属性”方法的
    exports: 是内置的一个“变量”,也是用来导出当前的属性方法的,和module.exports对应的值是同一个,值都是对象
//temp1.js
let a = 12;
let fn =  b => {
	return a * b;
}
exports.fn = fn;//把当前

[导入]
require:CommonJS提供的内置变量,用来导入模块的

let temp1 = require('./temp1');//./特意指定是当前目录中的某个模块,require是同步操作

CommonJS特点:
1.所有代码运行在模块作用域,不会污染全局作用域
2.模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果放在缓存。要想让它再次运行,必须清除缓存。
3.模块加载的顺序,按照其在代码中出现的顺序
4.CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值