-
静态import
- 它只接受字符串文字作为模块说明符,并通过运行前链接过程将绑定引入本地范围;
- 静态导入语法只能在文件的顶层使用;
- 对于tree-shaking 、静态分析来说静态import是非常有用的;
-
动态import (返回promise)
- 按需加载模块
- 在运行时实时计算模块
- 从常规脚本中引入模块
<script type="module"> const moduleSpecifier = './utils.mjs'; import(moduleSpecifier) .then((module) => { module.default(); // → logs 'Hi from the default export!' module.doStuff(); // → logs 'Doing stuff…' }); </script> <script type="module"> (async () => { const moduleSpecifier = './utils.mjs'; const module = await import(moduleSpecifier) module.default(); // → logs 'Hi from the default export!' module.doStuff(); // → logs 'Doing stuff…' })(); </script>