Spec-Zone.ru › JavaScript

import.source()

Синтаксис import.source() ведет себя как обычный синтаксис import(), за исключением того, что он возвращает объект, представляющий скомпилированный исходный код модуля. Модуль загружается и компилируется, но его зависимости не загружаются, и он не связывается и не оценивается. Он может быть императивно оценен позже, например, с помощью динамического импорта или WebAssembly.instantiate().

Чтобы использовать import.source(), целевой модуль должен быть того типа, который поддерживает импорт на этапе исходного кода. В настоящее время только модули WebAssembly поддерживают импорт на этапе исходного кода и возвращают объекты WebAssembly.Module. Исходные объекты модуля JavaScript будут добавлены в рамках предложения ECMAScript Module Phase Imports.

Дополнительную информацию о семантике импорта на этапе исходного кода см. в форме объявления import source.

Синтаксис

import.source(moduleName)
import.source(moduleName, options)

import.source() — это специальный синтаксис («мета-свойство»), а не метод объекта import.

Параметры

См. import().

Возвращаемое значение

Возвращает промис, который разрешается объектом AbstractModuleSource, представляющим скомпилированный исходный код модуля после успешной загрузки и компиляции модуля.

Как и в случае обычного import(), промис отклоняется, если модуль не может быть загружен или разобран. Он также отклоняется с SyntaxError, если тип модуля не поддерживает импорт на этапе исходного кода. Импорт не загружает зависимости, не связывает и не оценивает модуль, поэтому ошибки, возникающие на более поздних этапах, не сообщаются.

Примеры

Использование import.source()

const myModuleSource = await import.source("./my-module.wasm");

const instance = await WebAssembly.instantiate(myModuleSource, {
  env: { log: console.log },
});
const { exports } = instance;

Спецификации

Совместимость с браузерами

Смотрите также

  • Руководство по модулям JavaScript
  • import()
  • import source
  • AbstractModuleSource

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import/source

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API