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?
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:Aquí, se utiliza el objeto
process.env
proporcionado por Node.js para obtener el valor de una variable de entorno llamadaSERVER_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 archivopackage.json
) con el siguiente contenido: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
.