Tengo la siguiente estructura con 2 funciones de Azure que se ejecutan por separado en una aplicación de funciones de Azure:
- main_function_app - functions - Full_Stack - configAPI.json - configAPITest.json - function.json - index.js - Web - configAPI.json - configAPITest.json - function.json - index.js - host.json - local.settings.json - package-lock.json - package.json - proxies.json - utils.js Tengo el siguiente contenido en index.js de Full_Stack :
module.exports = async function (context, req) { let element = req.body; const purchase_time = Number(element.purchase_time_); const type = "Full Stack"; if (element.startswith('full')){ async function getStatusPayload(purchase_time, offset); } async function getStatusPayload(purchase_time, type){ if (purchase_time>0){ context.log("Purchase time successful in " + type); } } context.res = { // status: 200, /* Defaults to 200 */ status: 200 }; } Tengo el siguiente contenido en index.js de Web :
module.exports = async function (context, req) { let element = req.body; const purchase_time = Number(element.purchase_time_); const type = "Web"; if (element.startswith('web')){ async function getStatusPayload(purchase_time, type); } async function getStatusPayload(purchase_time, type){ if (purchase_time>0){ context.log("Purchase time successful in " + type); } } context.res = { // status: 200, /* Defaults to 200 */ status: 200 }; } Ambas funciones son casi iguales y quiero refactorizar getStatusPayload . Creé un borrador en el archivo utils.js , pero no puedo probarlo ni en la pila completa ni en el index.js web porque no sé cómo importarlo desde Azure. Además, no estoy totalmente seguro de si el código funcionará una vez que pueda importarlo a la pila completa y a la web.
// utils.js exports ={ getStatusPayload: async function (purchase_time, type){ if (purchase_time>0){ context.log("Purchase time successful in " + type); } } } } module.exports = exports; También encontré context.executionContext.functionDirectory que arroja el directorio actual, pero no estoy seguro de si esto podría ser útil en la solución.
A su pregunta: require es una función que podemos usar para importar otros módulos:
// it looks like this let util = require('./util.js');y para exportar:
function getStatusPayload() { // Code here } module.exports = { getStatusPayload }