require与import的本质区别

node编程中最重要的就是模块化,import和require都是被模块化所使用的

遵循规范:

  require是AMD规范引入(AMD是依赖前置,预加载);

  import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法

调用的时间:

  require是运行时间,所以require理论上可以运行在代码的任何地方

  import是编译的时候调用,所以必须放在文件开头

本质:

  require是赋值过程,require的结果是对象、数字,字符串、函数等,再将require的结果赋值给某个变量

  import是解构过程,但是目前所有的引擎还没有实现import,我们在弄得中使用的babel支持ES6,也仅仅是将ES6转义成ES5在执行,import语法会被转码为require

原文地址:https://www.cnblogs.com/violinh/p/11796468.html