<p>import用于ES模块顶层导入,支持命名导出({})、默认导出(无{})、全部导入(* as)、仅执行模块;路径需带扩展名;动态导入用await import()。</p>

在 JavaScript 中,import 关键字用于从其他模块(ES 模块)导入变量、函数、类或默认导出等内容。它必须写在文件的顶层(不能在函数或条件语句中),且只在启用 ES 模块环境时有效(如 type="module" 的 script 标签,或 .mjs 文件,或 package.json 中设置 "type": "module")。
导入命名导出(named exports)
当目标模块使用 export 显式导出多个成员(例如 export const a = 1; export function foo() {}),需用大括号指定名称导入:
-
导入单个成员:
import { foo } from './utils.js'; -
导入多个成员:
import { foo, bar, Baz } from './utils.js'; -
导入所有命名导出并挂载到一个对象上:
import * as utils from './utils.js';→ 可通过utils.foo()访问
导入默认导出(default export)
每个模块最多有一个默认导出(export default ...),导入时不用大括号,可自定义名称:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
导入并重命名:
import myFunc from './math.js';(原导出是export default function add(){...}) -
同时导入默认 + 命名导出:
import myFunc, { PI, sqrt } from './math.js';
只执行模块而不导入任何值
有些模块仅用于副作用(如注册全局插件、修改原型等),不需要导入具体值:
立即学习“Java免费学习笔记(深入)”;
-
直接导入路径即可:
import './polyfill.js';
路径说明与常见注意点
import 后的路径必须是相对路径(./ 或 ../)、绝对路径(/ 开头)或完整 URL;不能省略扩展名(如 .js),除非运行环境支持自动解析(如某些打包工具或 Node.js 的实验性功能):
-
正确写法:
import { log } from './logger.js';(推荐显式写 .js) -
不支持的写法:
import { log } from 'logger';(除非配置了模块解析规则或使用打包工具) -
动态导入(按需加载)用函数形式:
const module = await import('./dynamic.js');

















