Creación de funciones Node.js Lambda con esbuild (Vista previa) - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de funciones Node.js Lambda con esbuild (Vista previa)

El soporte de esbuild se encuentra actualmente en fase de vista previa pública. Mientras se encuentre en versión preliminar pública, el soporte de esbuild puede verse sometido a cambios incompatibles con versiones anteriores.

Puede utilizar elAWS SAMCLI con esbuild para compilar y empaquetar funciones Lambda Node.js. esbuild admite funciones Lambda que escribe en TypeScript.

Para compilar una función Node.js de Lambda con esbuild, agregue unMetadataoponerse a suAWS:Serverless::Functionrecurso y especifiqueesbuildpara laBuildMethod. Cuando corressam build,AWS SAMusa esbuild para agrupar el código de su función Lambda.

Propiedades de metadatos

LaMetadataAdmite las siguientes propiedades para esbuild:

Método Build

Especifica el agrupador de la aplicación. El único valor admitido es esbuild.

Propiedades de compilación

Objeto que especifica las propiedades de compilación del código de función Lambda.

LaBuildPropertiesAdmite las siguientes propiedades para esbuild. Todas las propiedades son opcionales. Por defecto,AWS SAMutiliza el controlador de funciones Lambda para el punto de entrada.

EntryPoints

Especifica los puntos de entrada de la aplicación.

Externo

Especifica la lista de paquetes que se van a omitir de la compilación.

Programa de carga

Especifica la lista de configuraciones para cargar datos de un tipo de archivo determinado.

Minificar

Especifica si se va a minimizar el código de salida incluido. El valor predeterminado es true.

Mapa fuente

Especifica si el agrupador produce un archivo de mapa de origen. El valor predeterminado es true.

Objetivo

Especifica la versión ECMAScript de destino. El valor predeterminado es es2020.

Ejemplo de función de Lambda de TypeScript

El siguiente ejemploAWS SAMtemplate snippet utiliza esbuild para crear una función Node.js de Lambda desde TypeScript código enhello-world/app.ts.

Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello-world/ Handler: app.handler Runtime: nodejs14.x Architectures: - x86_64 Events: HelloWorld: Type: Api Properties: Path: /hello Method: get Metadata: BuildMethod: esbuild BuildProperties: Minify: false Target: "es2020" Sourcemap: true EntryPoints: - app.ts

Uso de la función de vista previa de esbuild

Para utilizar esbuild, debe darse de baja en la función de vista previa. Puede usar unArchivo de configuración, una variable de entorno o un argumento de línea de comandos para utilizar esbuild. Si no especifica ninguno de estos, elAWS SAMLa CLI le pide de forma interactiva que confirme si debe utilizar o no la función de vista previa. En los siguientes ejemplos se opta por utilizar esbuild ysam sync.

Configuration file

Especifique lo siguiente en elArchivo de configuración.

[default.build.parameters] beta_features = true [default.sync.parameters] beta_features = true
Environment variable

Establezca la variable de entorno SAM_CLI_BETA_ESBUILD=1.

Command line argument

Añada el--beta-featuresa su comando de compilación. El argumento habilita todas las funciones de vista previa delAWS SAMCLI.

sam build --beta-features