当前位置: 首页 > Web前端 > JavaScript

JS模块化--COMMONJS

时间:2023-03-27 15:51:11 JavaScript

CMJ文件是一个模块,私有的,有两个内置变量modulerequire(exports=module.exports);一进一出构成了通信的基本结构。需要注意两个问题:缓存,require会被缓存,所以//a.jsvarname='morrain';变量年龄=18;exports.name=名称;exports.getAge=function(){返回年龄;}//b.jsvara=require('a.js');console.log(a.name);//'morrain'a.name='rename';varb=require('a.js');console.log(b.name)//'rename'引用副本或值副本(CMJ是值副本)//a.jsvarname='morrain';变量年龄=18;exports.name=名称;exports.age=年龄;exports.setAge=function(a){年龄=a;}//b.jsvara=require('a.js');控制台日志(a.age);//'18'a.setAge(19);console.log(a.age)//'18'运行时加载/执行时加载(多阶段,异步)ESM