请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

导入时require()和import from 有啥区别?我使用好像都一样?

util.js:

module.exports={

...

}

XXX.js

import util from '../../../../util/util.js';

我这样引入util,好像也没啥问题。老师有节课为啥说,export 时用import ... from...引入,而module.export时用reqiure("")。有什么区别吗?


正在回答

2回答

清月来了无尘 2017-01-15 12:18:40

目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require。这也是为什么在模块导出时使用module.exports,在引入模块时使用import仍然起效,因为本质上,import会被转码为require去执行。

但是,我们要知道这样一个道理,ES7很快也会发布,js引擎们会尽快实现ES6标准的规定,如果一个引擎连标准都实现不了,就会被淘汰, ES6是迟早的事 。如果你现在仍然在代码中部署require,那么等到ES6被引擎支持时,你必须升级你的代码,而如果现在开始部署import,那么未来可能只需要做很少的改动。


2 回复 有任何疑惑可以回复我~
7七月 2017-01-15 16:22:22

楼上的回答基本正确。import和require都可以。。。因为babel都会转成es5.。。。。。昨天写书的时候也注意到了这个问题。其实我是建议 全部用ES6写。。。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信