两者的区别:
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!