使用 import * as 语法将模块的所有导出项收集到一个命名空间对象中。例如执行 import * as utils from './utils.js' 后,通过 utils.functionname 即可访问该模块导出的所有成员。

如何导入并访问单个导出函数
直接调用命名空间对象的属性方法即可运行代码。假设 math.js 导出了 add 和 subtract,在入口文件中引入后,可以直接使用 math.add(1, 2) 获取结果。

import * as math from './math.js'; console.log(math.add(5, 3)); // 输出: 8 console.log(math.subtract(10, 4)); // 输出: 6
如何处理动态加载的模块
对于按需加载的场景,可以使用动态 import() 返回一个包含命名空间的 Promise。这种方式适合在条件判断或用户交互后才需要加载的大型模块,避免初始加载负担过重。

async function loadModule() {
const module = await import('./heavy-module.js');
console.log(module.default);
}
loadModule();
当模块导出默认值时命名空间对象的结构是怎样的
如果模块同时存在默认导出和具名导出,命名空间对象会包含一个名为 default 的属性来指向默认导出值,其他具名导出则作为独立属性存在。这种结构确保了无论模块内部如何组织导出,外部访问方式保持一致。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











