syntheticModule.setExport(name, value)


  • name <string> 要设置的导出名称。

    ¥name <string> Name of the export to set.

  • value <any> 将导出设置为的值。

    ¥value <any> The value to set the export to.

此方法用于模块链接后设置导出的值。如果在链接模块之前调用,则会抛出 ERR_VM_MODULE_STATUS 错误。

¥This method is used after the module is linked to set the values of exports. If it is called before the module is linked, an ERR_VM_MODULE_STATUS error will be thrown.

import vm from 'node:vm';

const m = new vm.SyntheticModule(['x'], () => {
  m.setExport('x', 1);
});

await m.link(() => {});
await m.evaluate();

assert.strictEqual(m.namespace.x, 1);const vm = require('node:vm');
(async () => {
  const m = new vm.SyntheticModule(['x'], () => {
    m.setExport('x', 1);
  });
  await m.link(() => {});
  await m.evaluate();
  assert.strictEqual(m.namespace.x, 1);
})();