模块
文件目录如下
![](https://img2020.cnblogs.com/blog/1466661/202112/1466661-20211214212144641-1147102884.png)
静态加载
静态加载模块,保证导入的值在代码运行之前就可以使用
import {add} from "./module.js" add(1, 2) // 3
动态加载
ES2020引入import()支持动态加载模块,如通过网络传输的模块,由于动态加载模块是异步的,所以要配合then或 async/await来使用
import("./module.js").then(module => { console.log(module.add(1, 3)) })
或
(async function(){ let module = await import("./module.js") console.log(module.add(2, 8)) }())
import.meta
import.meta 是一个给 JavaScript 模块暴露特定上下文的元数据属性的对象,它包含了这个模块的信息,比如说当前这个模块的URL
import.meta.url
结果为当前模块的url:file:///e:/%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0/JS%E6%9D%83%E5%A8%81%E6%8C%87%E5%8D%97/%E7%AC%AC10%E7%AB%A0-%E6%A8%A1%E5%9D%97/01-%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BD.js