1. require是AMD规范的写法,import是ES6模块的写法
2. require类似的写法
let { a, b, c } = require('module');
// import { a, b, c } from 'module';
看似只引入了a,b,c,实际上引入了整个模块,然后通过解构赋值给a,b,c赋值对应的模块内容
3.require是执行时引入,import是编译时引入,因此,require可以用在代码的任何地方,import即使不写在文件的开头也会自动提升到开头,比如
foo();
import { foo } from 'my_module';
代码不会报错,import会被提升到模块开头,编译时执行
4.import默认严格模式