兩者的區別:
express只能使用語法來向外暴露變量
eg:express.xxxx = xxxx;
module.express 既可以通過語法,也可以直接賦值一個對象
eg: module.express.xxxx = yyyy;
module.express = {xxx : yyy};
看下面的例子:
01.js的代碼如下
function Person(name , age, sex) { //這裏構建了個人
this.name = name; //屬性name
this.age = age; //屬性age
this.sex =sex; //屬性sex
};
Person.prototype = {
eat: function () { //添加了個吃的函數
console.log(this.name + "在吃飯");
}
};
exprots = Person; //使用exprots暴露
02.js代碼片段:
let Person = require("./01.js"); // require 接收 01.js
let P = new Person("李小花",20,"女"); //這裏新建一個對象人 賦予屬性
console.log(P); //打印
運行你會發現報錯
這是爲什麼呢?
因爲 你直接用express直接輸出一些東西他沒辦法去輸出,比如 ,你輸出 一個變量,一個函數,一個自變量對象 它都可以輸出。
但是你如果想輸出一個類或者對象,那肯定就不行了。
而如果你想輸出類,這時候就可以用module.express輸出
將上面01.js的代碼片段最後一行修改爲
module.exprots = Person;
這時候運行你就發現一切ok!