在 CommonJS 项目里引用 ES 模块是非常常见的现象,以前总是傻傻地在文件头直接 import .. from .. , 然后发现总是不行
不知道有多少人和我一样,一开始看见 require 和 import,总是一头雾水
仔细了解 CommonJS 和 ES 的区别、并亲自试验之后,发现在方法里使用 await import('xx') 方式动态加载 ES 模块,就能 work
当然,这个模式能走通的原因,主要还是因为 require 走的是同步加载, import 走的是异步加载;如果是在 ES 项目里,import 放在文件头才是常态。
千万不要同时把 require 和 import 同时放在文件头部,那样行不通!
参考:
-
www.ruanyifeng.com