

AWS App Runner dejará de estar abierto a nuevos clientes a partir del 30 de abril de 2026. Si quieres usar App Runner, regístrate antes de esa fecha. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cambio en la disponibilidad de AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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.

# Uso de la plataforma Node.js de
<a name="service-source-code-nodejs"></a>

**importante**  
App Runner dejará de ser compatible con **Node.js 12**, **Node.js 14**, **Node.js 16** y **Node.js 18** el 1 de diciembre de 2025. Para obtener recomendaciones y más información, consulte[Fin del soporte para las versiones de tiempo de ejecución gestionado](service-source-code.md#service-source-code.managed-platforms.eos).

La plataforma AWS App Runner Node.js proporciona tiempos de ejecución gestionados. Cada tiempo de ejecución facilita la creación y ejecución de contenedores con aplicaciones web basadas en una versión de Node.js. Cuando usas un entorno de ejecución de Node.js, App Runner comienza con una imagen de tiempo de ejecución de Node.js administrada. Esta imagen se basa en la [imagen de Docker de Amazon Linux](https://hub.docker.com/_/amazonlinux) y contiene el paquete de tiempo de ejecución de una versión de Node.js y algunas herramientas. App Runner usa esta imagen de tiempo de ejecución administrada como imagen base y agrega el código de la aplicación para crear una imagen de Docker. A continuación, implementa esta imagen para ejecutar el servicio web en un contenedor.

 Usted especifica un tiempo de ejecución para su servicio de App Runner al [crear un servicio](manage-create.md) mediante la consola de App Runner o la operación de la [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API. También puedes especificar un tiempo de ejecución como parte de tu código fuente. Usa la `runtime` palabra clave en un [archivo de configuración de App Runner](config-file.md) que incluyas en tu repositorio de código. La convención de nomenclatura de un tiempo de ejecución gestionado es*<language-name><major-version>*. 

Para obtener nombres y versiones de tiempo de ejecución de Node.js válidos, consulte[Información de versión en tiempo de ejecución de Node.js](service-source-code-nodejs-releases.md).

App Runner actualiza el tiempo de ejecución del servicio a la versión más reciente en cada implementación o actualización del servicio. Si su aplicación requiere una versión específica de un tiempo de ejecución administrado, puede especificarla mediante la `runtime-version` palabra clave del [archivo de configuración de App Runner](config-file.md). Puedes bloquearla en cualquier nivel de versión, incluida una versión principal o secundaria. App Runner solo realiza actualizaciones de nivel inferior en el tiempo de ejecución de tu servicio.

Sintaxis de versión para los tiempos de ejecución de Node.js: `major[.minor[.patch]]`

Por ejemplo: `22.14.0`

Los siguientes ejemplos muestran el bloqueo de versiones:
+ `22.14`— Bloquee las versiones principales y secundarias. App Runner actualiza solo las versiones con parches.
+ `22.14.0`— Bloquear una versión de parche específica. App Runner no actualiza tu versión en tiempo de ejecución.

**Topics**
+ [Configuración de tiempo de ejecución de Node.js](#service-source-code-nodejs.config)
+ [Llamadas para versiones de ejecución específicas](#service-source-code-nodejs.callouts)
+ [Ejemplos de tiempo de ejecución de Node.js](#service-source-code-nodejs.examples)
+ [Información de versión en tiempo de ejecución de Node.js](service-source-code-nodejs-releases.md)

## Configuración de tiempo de ejecución de Node.js
<a name="service-source-code-nodejs.config"></a>

Al elegir un tiempo de ejecución administrado, también debe configurar, como mínimo, los comandos de compilación y ejecución. Los configuras al [crear](manage-create.md) o [actualizar](manage-configure.md) tu servicio App Runner. Puede hacerlo mediante uno de los siguientes métodos:
+ **Mediante la consola de App Runner**: especifique los comandos en la sección **Configurar compilación** del proceso de creación o en la pestaña de configuración.
+ **Uso de la API de App Runner**: llame a la operación [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)o [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API. Especifique los comandos mediante los `StartCommand` miembros `BuildCommand` y del tipo de [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)datos.
+ **Uso de un [archivo de configuración](config-file.md)**: especifique uno o más comandos de compilación en un máximo de tres fases de compilación y un solo comando de ejecución que sirva para iniciar la aplicación. Hay opciones de configuración opcionales adicionales.

El suministro de un archivo de configuración es opcional. Al crear un servicio de App Runner mediante la consola o la API, debe especificar si App Runner obtiene los ajustes de configuración directamente al crearlos o de un archivo de configuración.

En el caso específico de los tiempos de ejecución de Node.js, también puedes configurar la compilación y el tiempo de ejecución mediante un archivo JSON cuyo nombre aparece `package.json` en la raíz del repositorio de origen. Con este archivo, puedes configurar la versión del motor Node.js, los paquetes de dependencias y varios comandos (aplicaciones de línea de comandos). Los administradores de paquetes como npm o yarn interpretan este archivo como entrada para sus comandos.

Por ejemplo:
+ **npm install**instala los paquetes definidos por el `devDependencies` nodo `dependencies` and en. `package.json`
+ **npm start**o **npm run start** ejecuta el comando definido por el `scripts/start` nodo en`package.json`.

A continuación se muestra un ejemplo de un archivo `package.json`.

### package.json
<a name="service-source-code-nodejs.config.package-json-example"></a>

```
{
  "name": "node-js-getting-started",
  "version": "0.3.0",
  "description": "A sample Node.js app using Express 4",
  "engines": {
    "node": "22.14.0"
  },
  "scripts": {
    "start": "node index.js",
    "test": "node test.js"
  },
  "dependencies": {
    "cool-ascii-faces": "^1.3.4",
    "ejs": "^2.5.6",
    "express": "^4.15.2"
  },
  "devDependencies": {
    "got": "^11.3.0",
    "tape": "^4.7.0"
  }
}
```

Para obtener más información`package.json`, consulte [Crear un archivo package.json en el sitio web](https://docs.npmjs.com/creating-a-package-json-file) de *npm Docs.* 

**Consejos**  
Si tu `package.json` archivo define un **start** comando, puedes usarlo como un **run** comando en el archivo de configuración de App Runner, como se muestra en el siguiente ejemplo.  

**Example**  
package.json  

  ```
  {
    "scripts": {
      "start": "node index.js"
    }
  }
  ```
apprunner.yaml  

  ```
  run:
    command: npm start
  ```
Cuando ejecutas **npm install** en tu entorno de desarrollo, npm crea el archivo. `package-lock.json` Este archivo contiene una instantánea de las versiones del paquete que npm acaba de instalar. A partir de entonces, cuando npm instala dependencias, usa exactamente estas versiones. Si instalas yarn, se crea un archivo. `yarn.lock` Guarde estos archivos en su repositorio de código fuente para asegurarse de que su aplicación esté instalada con las versiones de las dependencias que desarrolló y con las que la probó.
También puedes usar un archivo de configuración de App Runner para configurar la versión y el comando start de Node.js. Al hacer esto, estas definiciones anulan las que figuran en`package.json`. Un conflicto entre la `node` versión original `package.json` y el `runtime-version` valor del archivo de configuración de App Runner provoca un error en la fase de compilación de App Runner.

## Llamadas para versiones de ejecución específicas
<a name="service-source-code-nodejs.callouts"></a>

### Node.js 22 y Node.js 18 (versión revisada de App Runner)
<a name="service-source-code-nodejs.callouts.nodejs18"></a>

App Runner ahora ejecuta un proceso de compilación actualizado para aplicaciones basado en las siguientes versiones de tiempo de ejecución: Python 3.11, Node.js 22 y Node.js 18. Si tu aplicación se ejecuta en alguna de estas versiones en tiempo de ejecución, consulta [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail) para obtener más información sobre el proceso de compilación revisado. Las aplicaciones que utilizan todas las demás versiones en tiempo de ejecución no se ven afectadas y siguen utilizando el proceso de compilación original. 

## Ejemplos de tiempo de ejecución de Node.js
<a name="service-source-code-nodejs.examples"></a>

Los siguientes ejemplos muestran los archivos de configuración de App Runner para crear y ejecutar un servicio Node.js. 

**nota**  
La versión en tiempo de ejecución que se usa en estos ejemplos es*22.14.0*. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de Node.js compatible, consulte[Información de versión en tiempo de ejecución de Node.js](service-source-code-nodejs-releases.md).

### Fichero de configuración mínimo de Node.js
<a name="service-source-code-nodejs.examples.minimal"></a>

En este ejemplo, se muestra un archivo de configuración mínimo que puede utilizar con un entorno de ejecución gestionado por Node.js. Para ver las suposiciones que App Runner hace con un archivo de configuración mínimo, consulte[Ejemplos de archivos de configuración](config-file-examples.md#config-file-examples.managed).

**Example apprunner.yaml**  

```
version: 1.0
runtime: nodejs22
build:
  commands:    
    build:
      - npm install --production                                  
run:                              
  command: node app.js
```

### Archivo de configuración extendido de Node.js
<a name="service-source-code-nodejs.examples.extended"></a>

En este ejemplo, se muestra el uso de todas las claves de configuración con un entorno de ejecución gestionado por Node.js.

**nota**  
La versión de tiempo de ejecución que se utiliza en estos ejemplos es*22.14.0*. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de Node.js compatible, consulte[Información de versión en tiempo de ejecución de Node.js](service-source-code-nodejs-releases.md).

**Example apprunner.yaml**  

```
version: 1.0
runtime: nodejs22
build:
  commands:
    pre-build:
      - npm install --only=dev
      - node test.js
    build:
      - npm install --production
    post-build:
      - node node_modules/ejs/postinstall.js
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 22.14.0
  command: node app.js
  network:
    port: 8000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Archivo de configuración extendido de Node.js: Node.js 22 (usa una versión revisada)
<a name="service-source-code-nodejs.examples.extended-v2"></a>

En este ejemplo se muestra el uso de todas las claves de configuración con un tiempo de ejecución gestionado por Node.js en`apprunner.yaml`. En este ejemplo se incluye una `pre-run` sección, ya que esta versión de Node.js usa la versión revisada de App Runner.

El `pre-run` parámetro solo es compatible con la versión revisada de App Runner. No insertes este parámetro en el archivo de configuración si la aplicación usa versiones en tiempo de ejecución compatibles con la compilación original de App Runner. Para obtener más información, consulte [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail).

**nota**  
La versión en tiempo de ejecución que se usa en estos ejemplos es*22.14.0*. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de Node.js compatible, consulte[Información de versión en tiempo de ejecución de Node.js](service-source-code-nodejs-releases.md).

**Example apprunner.yaml**  

```
version: 1.0
runtime: nodejs22
build:
  commands:
    pre-build:
      - npm install --only=dev
      - node test.js
    build:
      - npm install --production
    post-build:
      - node node_modules/ejs/postinstall.js
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 22.14.0
  pre-run: 
    - node copy-global-files.js
  command: node app.js
  network:
    port: 8000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Aplicación Node.js con Grunt
<a name="service-source-code-nodejs.examples.grunt"></a>

En este ejemplo se muestra cómo configurar una aplicación Node.js desarrollada con Grunt. [Grunt](https://gruntjs.com/) es un ejecutor de JavaScript tareas de línea de comandos. Ejecuta tareas repetitivas y gestiona la automatización de los procesos para reducir los errores humanos. Los complementos de Grunt y Grunt se instalan y administran mediante npm. Para configurar Grunt, debe incluir el `Gruntfile.js` archivo en la raíz de su repositorio de código fuente.

**Example package.json**  

```
{
  "scripts": {
    "build": "grunt uglify",
    "start": "node app.js"
  },
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-contrib-jshint": "~0.10.0",
    "grunt-contrib-nodeunit": "~0.4.1",
    "grunt-contrib-uglify": "~0.5.0"
  },
  "dependencies": {
    "express": "^4.15.2"
  },
}
```

**Example Gruntfile.js**  

```
module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
      },
      build: {
        src: 'src/<%= pkg.name %>.js',
        dest: 'build/<%= pkg.name %>.min.js'
      }
    }
  });

  // Load the plugin that provides the "uglify" task.
  grunt.loadNpmTasks('grunt-contrib-uglify');

  // Default task(s).
  grunt.registerTask('default', ['uglify']);

};
```

**Example apprunner.yaml**  
La versión en tiempo de ejecución que se utiliza en estos ejemplos es. *22.14.0* Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de Node.js compatible, consulte[Información de versión en tiempo de ejecución de Node.js](service-source-code-nodejs-releases.md).

```
version: 1.0
runtime: nodejs22
build:
  commands:
    pre-build:
      - npm install grunt grunt-cli
      - npm install --only=dev
      - npm run build
    build:
      - npm install --production
run:
  runtime-version: 22.14.0
  command: node app.js
  network:
    port: 8000
    env: APP_PORT
```

# Información de versión en tiempo de ejecución de Node.js
<a name="service-source-code-nodejs-releases"></a>

**importante**  
App Runner dejará de ser compatible con **Node.js 12**, **Node.js 14**, **Node.js 16** y **Node.js 18** el 1 de diciembre de 2025. Para obtener recomendaciones y más información, consulte[Fin del soporte para las versiones de tiempo de ejecución gestionado](service-source-code.md#service-source-code.managed-platforms.eos).

**nota**  
La política de obsolescencia estándar de App Runner consiste en dejar obsoleto un entorno de ejecución cuando algún componente importante del mismo llegue al final del soporte a largo plazo de la comunidad (LTS) y las actualizaciones de seguridad ya no estén disponibles. En algunos casos, App Runner puede retrasar la obsolescencia de un tiempo de ejecución durante un período limitado, más allá de la end-of-support fecha de la versión lingüística compatible con el tiempo de ejecución. Un ejemplo de este tipo de casos podría ser ampliar la compatibilidad con un entorno de ejecución para que los clientes tengan tiempo de migrar.

En este tema se enumeran todos los detalles de las versiones en tiempo de ejecución de Node.js compatibles con App Runner.


**Versiones en tiempo de ejecución compatibles: versión revisada de App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/apprunner/latest/dg/service-source-code-nodejs-releases.html)

**nota**  
App Runner proporciona un proceso de compilación revisado para los principales tiempos de ejecución específicos que se publicaron más recientemente. Por este motivo, verás referencias a la *versión revisada de App Runner y a* la versión *original de App Runner* en determinadas secciones de este documento. Para obtener más información, consulte [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail).


**Versiones de ejecución compatibles: versión revisada de App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/apprunner/latest/dg/service-source-code-nodejs-releases.html)




**Versiones de ejecución compatibles: versión original de App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/apprunner/latest/dg/service-source-code-nodejs-releases.html)