web服务器5模块化
自定义模块
// console.log(module) // 自定义模块中,默认情况,module.exports = {} // 空对象 const name = 'zs' // 挂载方法 module.exports.usename = name // 挂载方法 module.exports.sey = ()=>{ console.log('what?') } // 永远以module.exports对象指向为准 // 指向下面的对象后,上面两个方法皆为垃圾对象 module.exports = { nickname:'对象', say(){ console.log('say!mie') } }
接受对象
// 在外界使用require接收自定义模块时,得到的成员就是对应模块中指向的module.exports对象 const m = require('./自定义模块1') console.log(m)
console.log(module.exports)
console.log(exports)
console.log(exports === module.exports);
// module.exports和exports指向同一个对象,但最终还是以module.exports指向对象为准
// 使用require()模块时,得到的永远是module.exports指向的对象
exports = {
usename : 'zs',
gerder:'男',
}
module.exports = exports
module.exports = {
nickname:'对象',
gerder:'女',
}
// 为了避免混乱,尽量不要在同一个页面里面同时使用module.exports和exports
代码改变了我们,也改变了世界