码迷,mamicode.com
首页 > 其他好文 > 详细

import与require的区别

时间:2020-02-05 13:50:23      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:运用   mil   指定   模块   没有   接口   遵从   一个   ret   

 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的区别

标签:运用   mil   指定   模块   没有   接口   遵从   一个   ret   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!