index.html文件中
<script src="./a.js" type="module"></script>
<script type="module" >
import {b} from './b.js'
console.log(b)
</script>
a.js文件
export const a = 1
console.log(a)
b.js文件
export const b = 2
启动服务(一定要放在服务器),查看index.html打印信息
对于外部的模块脚本(如上面的 a.js ),需注意:
(1)代码是在模块作用域之中运行,而不是在全局作用域运行。模块内部的顶层变量,外部不可见。
(2)模块脚本自动采用严格模式,不管有没有声明 use static
。参见严格模式限制
(3)模块之中,可以使用 import
命令加载其他模块(.js
后缀不可省略,需要提供绝对 URL 或相对 URL),也可以使用 export
命令输出对外接口。
(4)模块之中,顶层的 this
关键字返回 undefined
,而不是指向 window
。也就是说,在模块的顶层使用 this
关键字,无意义。
(5)同一个模块如果加载多次,只执行一次。