require引入知识点:
1.可以使用exports方式导出一个js,这个的缺点是无形中增加了一个命名空间
var bar = require("./bar.js");
var msg = "你好";
var info = "呵呵";
function showInfo(){
console.log(info);
}
exports.msg = msg;
exports.info = info;
exports.showInfo = showInfo;
var foo = require("./test/foo.js");
console.log(foo.msg);
console.log(foo.info);
foo.showInfo();
2.也可以使用module.exports导出一个类,使用new关键字来实例化
function People(name,sex,age){
this.name = name;
this.sex = sex;
this.age = age;
}
People.prototype = {
sayHello : function(){
console.log(this.name + this.sex + this.age);
}
}
//此时,People就被视为构造函数,可以用new来实例化了。
module.exports = People;
var People = require("./test/People.js");
var xiaoming = new People("小明","男","12");
xiaoming.sayHello();
3.没有写./表示从特殊路径引入,比如module.exports
var foo = require("foo.js"); //没有写./
4.如果连.js都没有写,说明是从文件夹引入,走的是package.json里面的main对应的文件,如果没有package.json的话,则走的是index.js文件
package.json必须在根文件夹下面
{
"name": "kaoladebar",
"version": "1.0.1",
"main" : "app.js"
}