1.模块的概念,在前端的世界里,jq和js的关系,在后台里就是express和原生node的关系,
2.每一个js里的函数都只在当前文件里起作用,如果你希望在其他js里调用这个函数,这么你需要在这个js里暴露即exports这个函数,在另一个js里require这个文件即可
需要被引入的js
引入foo.js
然后输入命令,node fu.js
这就是一个简单的例子来理解模块化的思想~
js和js之间是通过exports暴露和require织起来的网,暴露的方式有两种,一种是上面的,exports,另外一种是用module.exports暴露,方式不一样而已
foo.js
function test(name,sex,age){
this.name = name;
this.sex = sex;
this.age = age;
} test.prototype = {
sayHello:function(){
console.log(this.name+this.sex+this.age);
}
} //此时,test就可以被视为构造函数,可以用new来实例化
module.exports=test;
fu.js
var teach = require("./foo.js");
var mars = new teach("火星黑洞","男",22);
mars.sayHello();
node fu.js
此方式不可以用exports暴露,因为在fu.js里不能new这个对象出来,不承认他是一个构造函数,注意区分~