export 和 export default 之间的区别和 import

 我来答
rub955
2016-12-07 · TA获得超过114个赞
知道小有建树答主
回答量:450
采纳率:0%
帮助的人:242万
展开全部
Nodejs使用模块化工具管理的原理,每个独立的js文件都可以看做是一个模块,每个模块中都隐含着exports和和module.exports两个对象,下边说一下个人在学习中队这其的理解

首先,举个例子,编写一个exports_test.js模块,代码如下:
var name="我是var声明的name变量";exports.name="我是exports下的属性name";function sayName(){ console.log("我是function 声明的sayName()方法!");}exports.sayName1=function(){ console.log("我是exports下的一个方法!");};
2
然后新建一个test.js,将上面的模块引入:
var exports_test=require('./exports_test.js');
console.log(exports_test);//输出
执行test.js后,可以看到输出的结果如图
{ name: '我是exports下的属性name', sayName1: [Function] }

3
由以上可以看出,任何exports属性和方法都可以再外部访问,而var声明和funciton直接定义方法都是私有的,只有在exports暴露后才是共有的。外部才可以通过exports_test.name类型获取,如下
console.log(exports_test.name);console.log(exports_test.sayName1());

END
module.exports说明

1
module.exports也可以像exports的用法那样,可以替代exports的用处。module.exports包含exports,反过来exports不能替代module.exports。
END
module.exports和exports区别

1
module.exports可以单独的定义,返回数据类型,而export只能是返回一个object对象。如
module.exports=['劳黑炭','百度经验','module.exports'];//正确
exports=['劳黑炭','百度经验','module.exports'];//报错
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式