Web编程技术营地
研究、演示、创新

JavaScript Modules

撰写时间:2026-04-15

修订时间:2026-04-16

基本概念

现有一个./examples/basic/simple.js文件:

则,可在当前路径下创建一个类型为.html的文件,并编写JavaScript代码:

则在控制台中将输出:

在输出结果中可看出,所谓的模块是一个简单的对象,并将simple.js中使用export语句所导出的变量x,打包进这个简单的对象中而成为其一个同名的属性。变量y没有导出语句,则在script中不可访问。

这里有几点要求及限制:

  1. import语句须放在typemodulescript环境中。否则将出错:
  2. 相对URL格式须以./开头。
  3. 所导入的对象,其作用域仅限于其父script环境中。
    这也是模块化的本意所在,导入时别轻易污染了全局作用域。

import语句

使用import语句,可摆脱必须放在typemodulescript环境中的束缚,而是以Promise的方式来使用。

更多时,我们牺牲一点主线程上的性能,以换取代码上的扁平化:

更进一步,使用对象解构的方式:

本站的PageConsole with TrimPre大量使用了这种方式。

参考资源

  1. MDN: JavaScript modules