JS模块化之commonJS

版权声明:哼!坏人!这是我辛辛苦苦码的! https://blog.csdn.net/DurianPudding/article/details/88118466

参考:前端模块化

commonJS 规范规定,每个模块内部,module 变量代表当前模块。这个变量是一个对象,它的 exports 属性(即 module.exports )是对外的接口。加载某个模块,其实是加载该模块的 module.exports 属性。

// 定义模块math.js

var basicNum = 0;
function add(a, b) {
  return a + b;
}

// 定义当前模块对外输出的接口
module.exports = { // 在这里协商需要向外暴露的函数、变量
  add: add,
  basicNum: basicNum
};

// 用require加载模块

var math = require('./math');
console.log(math.add(2, 5));  // 7

commonJS用同步的方式加载模块,即脚本代码在 require 的时候,就会全部执行。一旦出现某个模块被”循环加载”,就只输出已经执行的部分,还未执行的部分不会输出。

猜你喜欢

转载自blog.csdn.net/DurianPudding/article/details/88118466