• import与require的区别


     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中,这样是错误的
  • 相关阅读:
    文言文
    【我回来了】TO DO LIST
    AFO
    [DP]
    [CF1221F]Choose a Square
    关于博主(2)
    自我介绍( 并不?
    老年选手的复健之路
    CSP/NOIP 2019 游记
    CSP前模板复习
  • 原文地址:https://www.cnblogs.com/aidixie/p/12263256.html
Copyright © 2020-2023  润新知