

AWS App Runner tidak akan lagi terbuka untuk pelanggan baru mulai 30 April 2026. Jika Anda ingin menggunakan App Runner, daftar sebelum tanggal tersebut. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan AWS App Runner ketersediaan](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan platform Node.js
<a name="service-source-code-nodejs"></a>

**penting**  
App Runner akan mengakhiri dukungan untuk **Node.js 12**, **Node.js 14**, **Node.js 16** dan **Node.js 18** pada 1 Desember 2025. Untuk rekomendasi dan informasi lebih lanjut, lihat[Akhir dukungan untuk versi runtime terkelola](service-source-code.md#service-source-code.managed-platforms.eos).

Platform AWS App Runner Node.js menyediakan runtime terkelola. Setiap runtime memudahkan untuk membangun dan menjalankan container dengan aplikasi web berdasarkan versi Node.js. Saat Anda menggunakan runtime Node.js, App Runner dimulai dengan image runtime Node.js yang dikelola. Gambar ini didasarkan pada image [Amazon Linux Docker](https://hub.docker.com/_/amazonlinux) dan berisi paket runtime untuk versi Node.js dan beberapa alat. App Runner menggunakan image runtime terkelola ini sebagai image dasar, dan menambahkan kode aplikasi Anda untuk membuat image Docker. Kemudian menyebarkan gambar ini untuk menjalankan layanan web Anda dalam sebuah wadah.

 Anda menentukan runtime untuk layanan App Runner saat [membuat layanan](manage-create.md) menggunakan konsol App Runner atau operasi API. [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) Anda juga dapat menentukan runtime sebagai bagian dari kode sumber Anda. Gunakan `runtime` kata kunci dalam [file konfigurasi App Runner](config-file.md) yang Anda sertakan dalam repositori kode Anda. Konvensi penamaan dari runtime terkelola adalah*<language-name><major-version>*. 

Untuk nama dan versi runtime Node.js yang valid, lihat[Informasi rilis runtime Node.js](service-source-code-nodejs-releases.md).

App Runner memperbarui runtime untuk layanan Anda ke versi terbaru pada setiap penerapan atau pembaruan layanan. Jika aplikasi Anda memerlukan versi tertentu dari runtime terkelola, Anda dapat menentukannya menggunakan `runtime-version` kata kunci dalam file [konfigurasi App Runner](config-file.md). Anda dapat mengunci ke tingkat versi apa pun, termasuk versi mayor atau minor. App Runner hanya membuat pembaruan tingkat yang lebih rendah ke runtime layanan Anda.

Sintaks versi untuk runtime Node.js: `major[.minor[.patch]]`

Misalnya: `22.14.0`

Contoh berikut menunjukkan penguncian versi:
+ `22.14`— Kunci versi mayor dan minor. App Runner hanya memperbarui versi tambalan.
+ `22.14.0`— Kunci ke versi patch tertentu. App Runner tidak memperbarui versi runtime Anda.

**Topics**
+ [Konfigurasi runtime Node.js](#service-source-code-nodejs.config)
+ [Callout untuk versi runtime tertentu](#service-source-code-nodejs.callouts)
+ [Contoh runtime Node.js](#service-source-code-nodejs.examples)
+ [Informasi rilis runtime Node.js](service-source-code-nodejs-releases.md)

## Konfigurasi runtime Node.js
<a name="service-source-code-nodejs.config"></a>

Saat memilih runtime terkelola, Anda juga harus mengonfigurasi, seminimal mungkin, membangun dan menjalankan perintah. Anda mengonfigurasinya saat [membuat](manage-create.md) atau [memperbarui](manage-configure.md) layanan App Runner. Anda dapat melakukan ini menggunakan salah satu metode berikut:
+ **Menggunakan konsol App Runner** — Tentukan perintah di bagian **Configure build** pada tab proses pembuatan atau konfigurasi.
+ **Menggunakan App Runner API** — Panggil operasi [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)atau [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API. Tentukan perintah menggunakan `BuildCommand` dan `StartCommand` anggota tipe [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)data.
+ **Menggunakan [file konfigurasi](config-file.md)** — Tentukan satu atau beberapa perintah build hingga tiga fase build, dan satu perintah run yang berfungsi untuk memulai aplikasi Anda. Ada pengaturan konfigurasi opsional tambahan.

Menyediakan file konfigurasi adalah opsional. Saat membuat layanan App Runner menggunakan konsol atau API, Anda menentukan apakah App Runner mendapatkan setelan konfigurasi secara langsung saat dibuat atau dari file konfigurasi.

Dengan runtime Node.js secara khusus, Anda juga dapat mengonfigurasi build dan runtime menggunakan file JSON yang diberi nama `package.json` di root repositori sumber Anda. Dengan menggunakan file ini, Anda dapat mengonfigurasi versi mesin Node.js, paket ketergantungan, dan berbagai perintah (aplikasi baris perintah). Package manager seperti npm atau yarn menafsirkan file ini sebagai masukan untuk perintah mereka.

Contoh:
+ **npm install**menginstal paket yang ditentukan oleh `dependencies` dan `devDependencies` node di`package.json`.
+ **npm start**atau **npm run start** menjalankan perintah yang ditentukan oleh `scripts/start` node di`package.json`.

Berikut ini adalah contoh `package.json` file.

### 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"
  }
}
```

*Untuk informasi selengkapnya`package.json`, lihat [Membuat file package.json](https://docs.npmjs.com/creating-a-package-json-file) di situs web npm Docs.* 

**Kiat**  
Jika `package.json` file Anda mendefinisikan **start** perintah, Anda dapat menggunakannya sebagai **run** perintah dalam file konfigurasi App Runner, seperti yang ditunjukkan contoh berikut.  

**Example**  
package.json  

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

  ```
  run:
    command: npm start
  ```
Ketika Anda menjalankan **npm install** di lingkungan pengembangan Anda, npm membuat file`package-lock.json`. File ini berisi snapshot dari versi paket npm yang baru saja diinstal. Setelah itu, ketika npm menginstal dependensi, ia menggunakan versi yang tepat ini. Jika Anda menginstal benang, itu akan membuat `yarn.lock` file. Komit file-file ini ke repositori kode sumber Anda untuk memastikan bahwa aplikasi Anda diinstal dengan versi dependensi yang Anda kembangkan dan uji.
Anda juga dapat menggunakan file konfigurasi App Runner untuk mengonfigurasi versi Node.js dan memulai perintah. Ketika Anda melakukan ini, definisi ini mengesampingkan yang masuk`package.json`. Konflik antara `node` versi masuk `package.json` dan `runtime-version` nilai dalam file konfigurasi App Runner menyebabkan fase build App Runner gagal.

## Callout untuk versi runtime tertentu
<a name="service-source-code-nodejs.callouts"></a>

### Node.js 22 dan Node.js 18 (build App Runner yang direvisi)
<a name="service-source-code-nodejs.callouts.nodejs18"></a>

App Runner sekarang menjalankan proses build yang diperbarui untuk aplikasi berdasarkan versi runtime berikut: Python 3.11, Node.js 22, dan Node.js 18. Jika aplikasi Anda berjalan pada salah satu versi runtime ini, lihat [Versi runtime terkelola dan build App Runner](service-source-code.md#service-source-code.build-detail) untuk informasi selengkapnya tentang proses build yang direvisi. Aplikasi yang menggunakan semua versi runtime lainnya tidak terpengaruh, dan mereka terus menggunakan proses build asli. 

## Contoh runtime Node.js
<a name="service-source-code-nodejs.examples"></a>

Contoh berikut menunjukkan file konfigurasi App Runner untuk membangun dan menjalankan layanan Node.js. 

**catatan**  
Versi runtime yang digunakan dalam contoh ini adalah*22.14.0*. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Node.js terbaru yang didukung, lihat[Informasi rilis runtime Node.js](service-source-code-nodejs-releases.md).

### File konfigurasi Node.js minimal
<a name="service-source-code-nodejs.examples.minimal"></a>

Contoh ini menunjukkan file konfigurasi minimal yang dapat Anda gunakan dengan runtime terkelola Node.js. Untuk asumsi yang dibuat oleh App Runner dengan file konfigurasi minimal, lihat. [Contoh file konfigurasi](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
```

### File konfigurasi Node.js yang diperluas
<a name="service-source-code-nodejs.examples.extended"></a>

Contoh ini menunjukkan penggunaan semua kunci konfigurasi dengan runtime terkelola Node.js.

**catatan**  
Versi runtime yang digunakan dalam contoh ini adalah*22.14.0*. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Node.js terbaru yang didukung, lihat[Informasi rilis runtime 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"
```

### File konfigurasi Node.js yang diperluas - Node.js 22 (menggunakan build yang direvisi)
<a name="service-source-code-nodejs.examples.extended-v2"></a>

Contoh ini menunjukkan penggunaan semua kunci konfigurasi dengan runtime terkelola Node.js di. `apprunner.yaml` Contoh ini menyertakan `pre-run` bagian, karena versi Node.js ini menggunakan build App Runner yang direvisi.

`pre-run`Parameter ini hanya didukung oleh build App Runner yang direvisi. Jangan masukkan parameter ini dalam file konfigurasi jika aplikasi Anda menggunakan versi runtime yang didukung oleh build App Runner asli. Untuk informasi selengkapnya, lihat [Versi runtime terkelola dan build App Runner](service-source-code.md#service-source-code.build-detail).

**catatan**  
Versi runtime yang digunakan dalam contoh ini adalah*22.14.0*. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Node.js terbaru yang didukung, lihat[Informasi rilis runtime 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"
```

### Aplikasi Node.js dengan Grunt
<a name="service-source-code-nodejs.examples.grunt"></a>

Contoh ini menunjukkan cara mengkonfigurasi aplikasi Node.js yang dikembangkan dengan Grunt. [Grunt](https://gruntjs.com/) adalah runner JavaScript tugas baris perintah. Ini menjalankan tugas berulang dan mengelola otomatisasi proses untuk mengurangi kesalahan manusia. Plugin Grunt dan Grunt diinstal dan dikelola menggunakan npm. Anda mengkonfigurasi Grunt dengan memasukkan `Gruntfile.js` file di root repositori sumber Anda.

**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**  
Versi runtime yang digunakan dalam contoh ini adalah*22.14.0*. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Node.js terbaru yang didukung, lihat[Informasi rilis runtime 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
```

# Informasi rilis runtime Node.js
<a name="service-source-code-nodejs-releases"></a>

**penting**  
App Runner akan mengakhiri dukungan untuk **Node.js 12**, **Node.js 14**, **Node.js 16** dan **Node.js 18** pada 1 Desember 2025. Untuk rekomendasi dan informasi lebih lanjut, lihat[Akhir dukungan untuk versi runtime terkelola](service-source-code.md#service-source-code.managed-platforms.eos).

**catatan**  
Kebijakan penghentian standar App Runner adalah menghentikan runtime ketika komponen utama runtime mencapai akhir dukungan jangka panjang komunitas (LTS) dan pembaruan keamanan tidak lagi tersedia. Dalam beberapa kasus, App Runner dapat menunda penghentian runtime untuk periode terbatas, di luar end-of-support tanggal versi bahasa yang didukung oleh runtime. Contoh kasus seperti itu adalah memperluas dukungan untuk runtime guna memungkinkan waktu pelanggan untuk migrasi.

Topik ini mencantumkan detail lengkap untuk versi runtime Node.js yang didukung App Runner.


**Versi runtime yang didukung — build App Runner yang direvisi**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/service-source-code-nodejs-releases.html)

**catatan**  
App Runner menyediakan proses build yang direvisi untuk runtime utama tertentu yang telah dirilis baru-baru ini. Karena itu, Anda akan melihat referensi ke build *App Runner yang direvisi dan build* *App Runner asli* di bagian tertentu dari dokumen ini. Untuk informasi selengkapnya, lihat [Versi runtime terkelola dan build App Runner](service-source-code.md#service-source-code.build-detail).


**Versi runtime yang didukung — build App Runner yang direvisi**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/service-source-code-nodejs-releases.html)




**Versi runtime yang didukung — build App Runner asli**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/apprunner/latest/dg/service-source-code-nodejs-releases.html)