export 和 module.export的区别与使用

简单的来说他们的作用都是:让两个JS文件之间可以进行数据交流和使用

 

Greeter.js 与  main.js  在同一目录下,main.js 要引用  Greeter.js  中的方法

①使用 module.exports 实现不同JS文件的数据调用

Greeter.js:

function a(a){
    console.log(a);;
}
function b(a){
    console.log(a);;
}
module.exports=a;
module.exports.k=b;

main.js:

var greeter = require('./Greeter.js');
greeter("hello");                       //console.log("hello")
greeter.k("good");                      //console.log("good")

②使用 exports 实现不同JS文件的数据调用

Greeter.js:

//Greeter.js
var a="hello";
var b={
    "a":1
};
function c(a){
    console.log(a);;
}
exports.a=a;
exports.b=b;
exports.c=c;

main.js:

//main.js 
var greeter = require('./Greeter.js');
console.log(greeter.a);
console.log(greeter.b.a);
greeter.c("good");

总结:

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

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

  Greeter.js:

//Greeter.js
//定义一个类
function fon(a,b){
    this.a=a;
    this.b=b;
    //在类中定义一个方法
    this.add=function(){
        console.log(this.a,this.b);
    }
}

module.exports=fon;

 main.js:   

//main.js 
var greeter = require('./Greeter.js');

var n =new greeter("hello","word");
n.add();                       //console.log("hello word")
  1. 如果Module.exports已经具备一些属性和方法,那么exports收集来的信息将被忽略,所以一个JS文件中不能同时出现他们两个

 

如果您有什么不明白的地方其它想问的可以关注我的公众号,给我留言,我会尽可能的帮您解决遇到的问题

ps:如果您对摄影感兴趣,也可以关注我的公众号,不定时会分享自己的摄影经验调色设定,欢迎交流,哈哈哈哈哈

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值