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

来源:

蓝with黑

2017-01-15

util.js:

module.exports={

...

}

XXX.js

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

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


写回答

2回答

清月来了无尘

2017-01-15

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

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


2
0

7七月

2017-01-15

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

0
0

微信小程序入门与实战(全新版) 超20000人学习的好课

4年同步微信官方迭代,累计20000+人学习, 比微信官方更火爆!

23867 学习 · 6899 问题

查看课程