首页 > 解决方案 > 如何从 vm.SourceTextModule 中获取默认导出?

问题描述

尝试新的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

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

这是打印

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

我怎样才能访问它export default?即,我想要那个manifest对象。

标签: node.jses6-modules

解决方案


你可以使用mod.namespace....


推荐阅读