A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/import below:

import - JavaScript | MDN

import 声明有四种形式:

下面是阐明语法的示例。

具名导入

给定一个名为 myExport 的值,该值已经通过隐式方式 export * from "another.js" 从模块 my-module 导出,或者显式地使用 export 语句导出,这将把 myExport 插入到当前作用域中。

import { myExport } from "/modules/my-module.js";

你可以从同一个模块导入多个名称。

import { foo, bar } from "/modules/my-module.js";

你可以在导入时重命名导出。例如,这会将 shortName 插入当前作用域。

import { reallyReallyLongModuleExportName as shortName } from "/modules/my-module.js";

模块还可能以字符串字面量的形式导出一个成员,如果该字符串不是一个有效的标识符,那么你必须对其进行别名化,以便在当前模块中使用它。

// /modules/my-module.js
const a = 1;
export { a as "a-b" };
import { "a-b" as a } from "/modules/my-module.js";

备注: import { x, y } from "mod" 并不等同于 import defaultExport from "mod" 然后从 defaultExport 中解构出 x 和 y。具名导入和默认导入是 JavaScript 模块中不同的语法。

默认导入

默认导出需要使用相应的默认导入语法来导入。直接导入默认导出的最简单的版本:

import myDefault from "/modules/my-module.js";

由于默认导出没有明确指定名称,因此你可以为标识符指定任何你喜欢的名称。

也可以在使用命名空间导入或具名导入时指定默认导入。在这种情况下,必须首先声明默认导入。例如:

import myDefault, * as myModule from "/modules/my-module.js";
// myModule.default 和 myDefault 指向相同的绑定

或者

import myDefault, { foo, bar } from "/modules/my-module.js";

导入一个名为 default 的名称与默认导入效果相同。必须对其进行别名化,因为 default 是保留字。

import { default as myDefault } from "/modules/my-module.js";
命名空间导入

以下代码将 myModule 插入当前作用域,其中包含来自 /modules/my-module.js 模块的所有导出。

import * as myModule from "/modules/my-module.js";

在这里,myModule 表示一个命名空间对象,其中包含来自 /modules/my-module.js 模块的所有导出。例如,如果上面的模块导入了一个导出 doAllTheAmazingThings(),你可以像这样调用它:

myModule.doAllTheAmazingThings();

myModule 是一个密封的对象,其原型为 null。它提供了一个名为 default 的键,用于访问默认导出。有关更多信息,请参考模块命名空间对象。

备注: JavaScript 没有像 import * from "module-name" 这样的通配符导入,因为它会导致名称冲突的可能性很高。

仅为了其副作用而导入模块

导入整个模块只是为了产生副作用,而不导入任何内容。这会运行模块的全局代码,但实际上不会导入任何值。

import "/modules/my-module.js";

这经常用于 polyfill,它会修改全局变量。


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4