模块化Module
模块有两个必备的功能:可复用,不冲突。
可复用让其他用这个模块的开发者不用重复造轮子;而做到不冲突,是 不同执行环境作用
前端主流的三大框架,都有模块这个概念,但它实际起源于Node这个被用来写服务器的C++程序。写在Node核心代码里有一个名为module.js的文件。
Module是跟JS中其他的东西一样,它也是一个对象。但比较特别的是,它是一个构造函数(函数也是对象)。
main.js里写入:
var myName = 'boolean';
var a = require('./app.js');
console.log(myName);
app.js文件中的内容:
var myName = function() {
'Brynn';
console.log(myName);
}
module.exports = myName;
var a = require('./app.js');实现了模块的导入,require是Module给我们的一个方法,底层实际上是把app.js文件,包装成一个立即执行函数。
(function(exports, require, module, __filename, __dirname){
var myName = 'Brynn';
console.log(myName);
})