Как получить экспорт по умолчанию из vm.SourceTextModule? - PullRequest
0 голосов
/ 22 марта 2020

Пробуя новый SourceTextModule API, я пытаюсь извлечь свои экспорты.

Вот что у меня есть:


async function loader() {
    // ...

    const context = vm.createContext({
        require: filename => {
            return filename;
        },
        module: {
            exports: {},
        }
    });
    const mod = new vm.SourceTextModule(source, {
        context,
        identifier: module.identifier(),
    });

    async function linker(specifier, referencingModule) {
        throw new Error(`Unable to resolve dependency: ${specifier}`);
    }

    await mod.link(linker);

    const result = await mod.evaluate();

    console.log("RESULT", result);
}

Где source is:

var manifest = {
  name: "MyApp",
  // ...
};
export default manifest;

Это печать

RESULT [Object: null prototype] { result: undefined }

Как я могу получить доступ к этому export default? то есть, я хочу этот manifest объект.

...