Saltar al contenido

Usando un módulo importado dentro de Google App Script

Solución:

Su proyecto GAS no es una aplicación Node.js, por lo que lo anterior no funcionará. Si bien tanto Google Apps Script como Node usan JavaScript, proporcionan diferentes entornos de tiempo de ejecución para ejecutar código JS. En GAS, el entorno es un ecosistema cerrado en los servidores de Google del que los usuarios finales no saben nada.

En Node, el tiempo de ejecución consta de complementos V8 (motor JS) y C ++ que exponen API de bajo nivel (acceso al sistema de archivos, etc.). La biblioteca a la que hizo referencia es un paquete NPM creado para Node.js. La instalación del paquete a través de NPM lo hará disponible para los proyectos de Node, pero no crea que también aparecerá mágicamente en los servidores de Google.

Debe usar versiones específicas de GAS de estas dependencias o, si no existen, refactorizar el código fuente para hacerlo compatible con GAS (Node y GAS usan diferentes versiones de ECMAScript, por lo que algunas características más recientes, como las funciones de flecha, romperán su Código GAS).

Por ejemplo, aquí está lodash para GAS https://github.com/contributorpw/lodashgs

Uso de bibliotecas en GAS https://developers.google.com/apps-script/guides/libraries

PS En GAS, todos los archivos “.gs” comparten el mismo espacio de nombres, por lo que llamar a la función ‘require’ es redundante. Si desea imitar este comportamiento, aún deberá escribir su propia función require.

Los archivos de secuencia de comandos de Google Apps de forma predeterminada tienen acceso a las API de Google, como el servicio de hoja de cálculo en los servicios de G Suite: https://developers.google.com/apps-script/reference/spreadsheet/

Un proyecto GAS (por lo tanto, los scripts en ese proyecto) no tiene acceso predeterminado a Node.js ni a ningún otro marco. Sin embargo, un proyecto GAS puede incluir otro proyecto GAS por referencia como biblioteca. En el Editor de scripts de GAS, use el menú Recursos> Bibliotecas … para agregar un proyecto de GAS externo como biblioteca configurando la clave del proyecto de origen (y algunas otras propiedades del proyecto de origen).

Entonces, si tiene un Javascript que depende de recursos externos (como Node.js) por require luego, si puede encontrar un proyecto de GAS externo que proporcione los mismos servicios con la misma API, puede proporcionarlo como una biblioteca para el script. Omite el require declaraciones del script original ya que son reemplazadas por la configuración de dependencia de la biblioteca GAS que mencioné.

Si su script original y sus dependencias son de código abierto, puede crear proyectos GAS para cada nivel de dependencias en los originales. Ya puede encontrar algunos scripts de frameworks JS populares disponibles como bibliotecas GAS.

GAS también permite empaquetar recursos externos como aplicaciones web y otros formatos de paquetes. Se pueden usar con las técnicas correspondientes, y algunas de ellas ya están disponibles en otros desarrolladores.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *