es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establecer el valor de una variable dependiendo de la compilación para un complemento de Office (variable condicional)

He desarrollado un complemento de Word Office utilizando Office.js. El AddIn funciona bien, pero ahora quiero desplegar el AddIn en un entorno Acc. Por supuesto, las URLs utilizadas en el Manifest tienen que cambiarse cuando el AddIn se despliega, como se puede leer aquí. Esto tiene que hacerse manualmente.

El Office AddIn consta de un archivo taskpane.js, en este archivo llamo a dos puntos finales de una API. La URL para esta API se almacena en una variable local.

let serverUrl = `https://dev.miorganizacion.com/api/atlas`;
let projectUrl = `${serverUrl}/projects/`;
let wsReGeBo = `${serverUrl}/wms`;
let mapUrl = `${serverUrl}/printconfig/printmap/[title]/[scale]/[lng]`;

Ahora mi pregunta es cuando quiero desplegar el AddIn y comenzar npm run build, el archivo taskpane.js todavía contiene la URL de dev.

¿Puedo hacer esto dinámico de alguna manera? Quiero decir, cuando desarrollo y pruebo, la URL está bien, pero cuando depliego y ejecuto el comando npm run build, ¿puedo reemplazar automáticamente la URL de dev con algo como ACC o prod para que la URL sea similar a:

let serverUrl = `https://acc.miorganizacion.com/api/atlas`;

o

let serverUrl = `https://prod.miorganizacion.com/api/atlas`;

¿Alguna sugerencia?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para hacer que la URL sea dinámica, se pueden utilizar variables de entorno en el código. En lugar de codificar la URL en el archivo taskpane.js, se puede definir una variable como:

    let serverUrl = process.env.SERVER_URL || 'https://dev.myorganisation.com/api/atlas';
    

    Aquí, se utiliza el objeto process.env proporcionado por Node.js para obtener el valor de una variable de entorno llamada SERVER_URL. Si la variable de entorno no está definida, se utiliza la URL de desarrollo.

    Para establecer la variable de entorno, se deberá crear un archivo llamado .env en el directorio raíz del proyecto (donde se encuentra el archivo package.json) con el siguiente contenido:

    SERVER_URL=https://acc.myorganisation.com/api/atlas
    

    Esto establecerá la variable de entorno SERVER_URL en la URL de ACC. Cuando se quiera implementar en un entorno diferente, solo se deberá actualizar el archivo .env con la URL correspondiente.

    Es importante tener en cuenta que las variables de entorno no deben incluirse en el control de versiones, así que asegúrate de incluir el archivo .env en el archivo .gitignore.

Comments are closed.