zoukankan      html  css  js  c++  java
  • 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中,这样是错误的
  • 相关阅读:
    自定义的事件管理器
    解决修改表结构,添加外键时出现“约束冲突”的错误
    jQuery学习(二) 自定义扩展函数
    iBt(001-004)原文与试译
    老婆怀孕了!(5+6)
    Mac_如何打开系统文件library
    Mac_如何通过命令行装包到ios手机
    MAC干净卸载pycharm
    selenium自动化_如何启动safari浏览器
    selenium自动化_click方法点击无效
  • 原文地址:https://www.cnblogs.com/aidixie/p/12263256.html
Copyright © 2011-2022 走看看