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 sourceAbstractModuleSource
© 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