首页 > 其他 > 详细

import与require的区别

时间:2020-02-05 14:43:40      阅读:82      评论:0      收藏:0      [点我收藏+]

 require 和 import,都是为了模块化开发,

遵循规范
–require 是Commonjs的规范,node应用是由模块组成的,遵从commonjs的规范。
–import是es6的一个语法标准,如果要兼容浏览器的话必须通过babel将es6转码为es5再执行

调用时间
–require是运行时调用,所以require理论上可以运用在代码的任何地方
–import是编译时调用,所以必须放在文件开头

核心

 import导出的对象必须与模块中的值一一对应,换一种说法就是导出的对象与整个模块进行结构赋值。对的,你没有听错。抓住重点,解构赋值

 require在导出的文件中定义module.export,导出的对象的类型不予限定(可以是任何类型,字符串,变量,对象,方法),在引入的文件中调用require()方法引入对象即可

 

require 是赋值过程并且是运行时才执行, import 是解构过程并且是编译时执行。require可以理解为一个全局方法,所以它甚至可以进行下面这样的骚操作,是一个方法就意味着可以在任何地方执行。而import必须写在文件的顶部。

 

  • require的性能相对于import稍低,因为require是在运行时才引入模块并且还赋值给某个变量,而import只需要依据import中的接口在编译时引入指定模块所以性能稍高

  • 在commom.js 中module.export 之后 导出的值就不能再变化,但是在es6的export中是可以的。
var a = 6
export default {a}
a = 7  //在es6中的export可以
var a = 6
module.export = a
a = 7   //在common.js中,这样是错误的

 

import与require的区别

原文:https://www.cnblogs.com/aidixie/p/12263256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!