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 unMetadata
oponerse a suAWS:Serverless::Function
recurso y especifiqueesbuild
para laBuildMethod
. Cuando corressam build
,AWS SAMusa esbuild para agrupar el código de su función Lambda.
Propiedades de metadatos
LaMetadata
Admite 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.
LaBuildProperties
Admite 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.