记录module.exports 与 exports使用

来源:互联网 发布:java程序员转正申请 编辑:程序博客网 时间:2024/05/17 15:56

1 exports是module.exports的一个引用

2 require引用模块后,返回给调用者的是module.exports而不是exports

3 exports.xxx,相当于在导出对象上挂属性,该属性对调用模块直接可见

4 exports =相当于给exports对象重新赋值,调用模块不能访问exports对象及其属性

如果此模块是一个类,就应该直接赋值module.exports,这样调用者就是一个类构造器,可以直接new实例


1 exports暴露属性和函数:

exports.str = 'a';exports.fn = function () { wx.showToast({  title: 'good',})}; 
在使用时候: var m=require("../../utils/demo.js");直接m.str或m.fn()就能引用暴露的属性和方法


2 module.exports暴露对象

var handle;handle = {  str:"hello_world",  fn: function () {    wx.showToast({      title: 'hello_world',    })  }}module.exports = handle;
在使用时候:var m = require("../../utils/hhh.js");m对象就持有暴露的handle对象引用,用m.fn()调用函数,m.str引用str属性


注意:

1 对于要导出的属性,可以简单直接挂到exports对象上


2 对于类,为了直接使导出的内容作为类的构造器可以让调用者使用new操作符创建实例对象,应该把构造函数挂到module.exports对象上,不要和导出属性值混在一起


原创粉丝点击