Docs Menu
Docs Home
/ /

Dependencias externas

Una dependencia externa es una librería que incluye código que no puedes o no deseas implementar por tu cuenta. Por ejemplo, podrías utilizar una librería oficial para un servicio externo o una implementación personalizada de una estructura de datos o algoritmo.

Atlas transpila automáticamente las dependencias y también admite la mayoría de los módulos Node.js integrados.

Nota

Crea tus propios módulos

Aunque la mayoría de los módulos npm son desarrollados por terceros, también puedes crear y publicar tus propios módulos npm para alojar la lógica específica de tu aplicación. Puedes poner tus módulos a disposición de la comunidad Node.js o reservarlos para uso privado. Para más información, consulta la guía de npm en Contribuyendo paquetes al registro.

Para importar y usar una dependencia externa, primero debe agregarla a su aplicación. Puede agregar paquetes por nombre o cargar un directorio de dependencias.

Importante

Anular dependencias existentes

Solo puedes usar un método a la vez para especificar los paquetes externos que tu aplicación puede usar. El método más reciente que hayas usado para especificar las dependencias es la fuente de confianza y anula las especificaciones anteriores.

Por ejemplo, un paquete agregado por nombre a través de la interfaz de usuario anula cualquier copia del mismo paquete que haya agregado anteriormente, incluidas aquellas en un directorio de dependencia cargado.

Puedes agregar paquetes desde el registro de npm a tu aplicación por nombre. Puedes agregar una versión específica o usar la más reciente.

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Triggers en la sección Streaming Data.

Se muestra la página Desencadenantes.

2
  1. Seleccione el disparador al que desea agregar la dependencia.

  2. En la página Edit Trigger, vaya a la sección Function y haga clic en Add Dependency.

3
  1. En la ventana modal Add Dependency, incluya la siguiente información:

    Campo
    Descripción

    Definir un nombre de paquete

    El nombre del paquete npm.

    Versión del paquete

    Opcional. Versión específica de la dependencia que se usará. Por defecto, las funciones de Atlas usan la última versión disponible.

  2. Haga clic en Add para agregar el paquete.

Puede seguir el estado de la adición de la dependencia en el rastreador de progreso, en la parte inferior de la ventana. Este rastreador muestra un mensaje que le informa si el paquete se agregó correctamente o no. Los mensajes de error contienen información adicional sobre por qué no se pudo agregar el paquete.

4

Cuando agregue correctamente la dependencia, la verá en la lista de dependencias en la pestaña Dependencies de la página principal Triggers.

Puedes subir un archivo comprimido node_modules Directorio de paquetes para tu aplicación. Los directorios de dependencia comprimidos no pueden superar los 15MB.

Importante

Dependencias existentes sobrescritas

Al importar un archivo, se eliminarán todas las dependencias existentes.

1

Para cargar dependencias externas, primero necesita una carpeta local node_modules que contenga al menos un paquete de Node.js. Puede usar el siguiente fragmento de código para instalar localmente la dependencia que desee cargar:

npm install <package name>

Si la carpeta node_modules aún no existe, este comando la crea automáticamente.

Nota

Métodos alternativos de instalación

También puede configurar un package.json y ejecutar el comando npm install para instalar todos los paquetes (y sus dependencias) enumerados en su package.json.

Para obtener más información sobre npm node_modules y, consulte la documentación de npm.

2

Ahora que has descargado todos tus módulos npm, necesitas empaquetarlos en un archivo para poder subirlos a Atlas. Atlas admite los formatos de archivo .tar, .tar.gz, .tgz y .zip.

Cree un archivo que contenga la carpeta node_modules:

tar -czf node_modules.tar.gz node_modules/

Después de crear un archivo que contenga sus dependencias, puede cargar su archivo de dependencias utilizando la interfaz de usuario de Atlas.

3
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Triggers en la sección Streaming Data.

Se muestra la página Desencadenantes.

4
  1. Seleccione la pestaña Dependencies.

  2. Haga clic en Upload Folder.

  3. En el modal, haga clic en Upload Folder y luego seleccione el archivo node_modules.tar.gz que acaba de crear.

  4. Haga clic en Add. Atlas cargará el archivo comprimido, lo que puede tardar varios minutos según la velocidad de su conexión a Internet y el tamaño de su archivo de dependencia.

  5. Atlas muestra una alerta indicando el éxito o fracaso de la operación. Si es exitoso, la pestaña Dependencies muestra una lista de las dependencias que incluiste en tu fichero de dependencias.

    • Si los borradores están habilitados, también debe hacer clic en Review & Deploy para aplicar estos cambios.

    • Si los borradores están deshabilitados, el cambio tendrá efecto dentro de 5 a 60 segundos, dependiendo del tamaño de su archivo de dependencia.

Puedes importar módulos integrados y paquetes externos que hayas añadido a tu aplicación y usarlos en tus funciones. Para importar un paquete, llama a require() con el nombre del paquete desde el cuerpo de la función.

Importante

¿Dónde importo módulos?

Los proyectos Node.js suelen incluir require() llamadas en el ámbito global de cada archivo, pero Atlas no admite este patrón.Debe incluir require() llamadas dentro del ámbito de una función.

exports = () => {
const R = require("ramda");
return R.map(x => x*2, [1,2,3]);
}
exports = function(arg){
const cloneDeep = require("lodash/cloneDeep");
var original = { name: "Deep" };
var copy = cloneDeep(original);
copy.name = "John";
console.log(`original: ${original.name}`);
console.log(`copy: ${copy.name}`);
return (original != copy);
};

Volver

Global Modules

En esta página