node中导入模块require和import的区别

ruquire的使用非常简单,它相当于module.exports的传送门,module.exports后面的内容是什么,require的结果就是什么,对象、数字、字符串、函数等等,再把repuire的结果赋值给某个变量。
repuired理论上可以运行在代码的任何地方,甚至不需要赋值给某个变量之后再使用。
使用时,完全忽略模块化这个概念,仅仅把他当作node的内置的全局变量

import,编译时,必须放在文件开头,而且使用格式也是确定的,他不会将模块运行后赋值给某个变量,而是选择import的接口进行编译,这样在性能上比repuire好很多

简单理解为
require是赋值过程
import是解构过程

现在的引擎还都没有实现import,在项目中我们使用import,也仅仅是因为将ES6转码成ES5在执行
import语法会转码为require,