syntheticModule.setExport(name, value)


  • name <string> 要设置的导出名称。
  • value <any> 要为导出设置的值。

此方法在模块链接后用于设置导出值。如果在模块链接前调用,将会抛出 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);
})();