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