Compatibilidade entre o Azion Runtime e Node.js APIs
O módulo vm
no Node.js fornece uma maneira de executar código JavaScript dentro de um contexto de máquina virtual. Isso permite que os desenvolvedores executem código em um ambiente isolado, o que pode ser útil para várias aplicações, como executar código gerado pelo usuário, testes ou isolar a execução de código do aplicativo principal.
/** * An example of using Node.js VM API in an Azion Edge Function. * Support: * - Partially supported (Extended by library `vm-browserify`) * @module runtime-apis/nodejs/vm/main * @example * // Execute with Azion Bundler: * npx edge-functions build * npx edge-functions dev */import vm from "node:vm";
// Set a global variable because bundler esbuild minify the code and rename the variable.globalThis.contextVar = "initial value";
/** * An example of using the Node.js VM API in an Azion Edge Function. * @param {*} event * @returns {Promise<Response>} */const main = async (event) => { const vmResult = vm.runInThisContext( 'globalThis.contextVar = "change by vm";' ); console.log( `vmResult: '${vmResult}', globalThis.contextVar: '${globalThis.contextVar}'` ); return new Response("Done!", { status: 200 });};
export default main;w
Contribuidores