导入时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回答
-
目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require。这也是为什么在模块导出时使用module.exports,在引入模块时使用import仍然起效,因为本质上,import会被转码为require去执行。
但是,我们要知道这样一个道理,ES7很快也会发布,js引擎们会尽快实现ES6标准的规定,如果一个引擎连标准都实现不了,就会被淘汰, ES6是迟早的事 。如果你现在仍然在代码中部署require,那么等到ES6被引擎支持时,你必须升级你的代码,而如果现在开始部署import,那么未来可能只需要做很少的改动。
20 -
7七月
2017-01-15
楼上的回答基本正确。import和require都可以。。。因为babel都会转成es5.。。。。。昨天写书的时候也注意到了这个问题。其实我是建议 全部用ES6写。。。
00
相似问题