Men-deploy aplikasi Node.js seharusnya tidak merepotkan. Aktifkan dan jalankan server Express.js Anda dengan platform Render yang hemat biaya dan ramah pengguna.

Pada akhir tahun 2022, Heroku menghentikan opsi tingkat gratisnya yang mengakibatkan penghapusan paket langganan gratis yang tersedia sebelumnya untuk hosting web dan layanan cloud lainnya dalam ekosistemnya.

Tingkatan gratis sangat berguna dan hemat biaya jika Anda berniat menerapkan dan menghosting aplikasi untuk waktu yang singkat. Untungnya, ada platform cloud alternatif yang, seperti Heroku, menawarkan tingkat gratis untuk layanan cloud-nya di antara fasilitas lainnya.

Dalam artikel ini, kita akan mempelajari cara menerapkan Express.js REST API di Render, platform hosting berbasis cloud.

Apa Itu Render?

Render adalah platform cloud hosting yang menyediakan cara yang mulus dan tidak merepotkan untuk menerapkan dan mengelola situs web statis, aplikasi web lengkap, API backend, atau database di cloud. Fitur-fiturnya meliputi:

  • Antarmuka yang ramah pengguna: Render menyediakan antarmuka yang sederhana dan intuitif yang menyederhanakan proses penerapan aplikasi yang dibangun menggunakan bahasa pemrograman populer seperti Python dan Node.js.
  • Database bawaan: Render menawarkan dukungan bawaan untuk database populer seperti PostgreSQL, MySQL, dan MongoDB, membuatnya mudah untuk mengatur dan mengintegrasikan database ke dalam aplikasi tanpa harus mengatur database terpisah server.
  • Alur kerja penerapan yang lancar: Render menyediakan fitur seperti deployment otomatis, rollback, dan integrasi dengan layanan populer seperti GitHub dan GitLab.
  • Domain khusus dan SSL: Render menawarkan kemampuan untuk mengonfigurasi nama domain khusus untuk situs web dan aplikasi web, dan itu termasuk sertifikat SSL gratis untuk akses HTTPS yang aman.

Perbandingan Antara Render dan Heroku

Seperti platform cloud lainnya, Render memiliki kelebihan dan kekurangannya. Tapi bagaimana jika dibandingkan dengan solusi cloud populer seperti Heroku?

  • Kesederhanaan: Render menyediakan antarmuka yang mudah digunakan untuk menyebarkan dan mengelola aplikasi, dengan fokus pada kemudahan penggunaan dan konfigurasi minimal.
  • Penskalaan otomatis: Render secara otomatis menskalakan aplikasi berdasarkan permintaan, tanpa memerlukan penyesuaian manual atau konfigurasi yang rumit.
  • Efektivitas biaya: Render menawarkan harga hemat biaya yang mencakup tingkat gratis untuk masing-masing proyek dan harga yang relatif rendah untuk tim dan rencana organisasi, menjadikannya pilihan ramah anggaran untuk menghosting aplikasi web skala kecil dan komersial besar proyek.
  • Fleksibilitas terbatas: Kesederhanaan dan konfigurasi minimalnya dapat menjadi batasan untuk proyek lanjutan dan kompleks yang memerlukan lebih banyak penyesuaian dan kontrol atas lingkungan hosting.

Siapkan Proyek Baru di Render

Untuk memulai, tajuk ke situs Render dan daftar dan masuk ke akun Anda.

Render memudahkan penerapan dan pengelolaan API backend dengan menawarkan dukungan bawaan untuk bahasa pemrograman populer dan layanan web yang menyederhanakan proses penerapan.

Panduan ini akan menggunakan fitur layanan webnya untuk menerapkan API REST Express.js. Untuk mengikuti, Anda harus menyiapkan instance database PostgreSQL terlebih dahulu di Render.

Pada halaman ikhtisar, klik pada PostgreSQL baru tombol untuk menyiapkan instance baru.

Selanjutnya, isi nama database Anda, dan klik Buat basis data. Terakhir, salin URL Basis Data Internal asalkan. Anda akan menggunakannya untuk mengonfigurasi koneksi antara Express REST API dan database PostgreSQL.

Pada dasarnya, URL Basis Data Internal digunakan untuk membuat koneksi antara aplikasi yang berjalan di server Render seperti API yang diterapkan atau aplikasi web yang lengkap.

Meskipun demikian, jika Anda hanya ingin menggunakan database PostgreSQL dari aplikasi yang diterapkan di platform lain, Anda dapat menggunakan URL Database Eksternal untuk mengkonfigurasi koneksi database.

Buat API REST Express.js

Silakan dan buat server web Express.js. Selanjutnya, instal paket-paket berikut:

npm instal pg knex

Anda dapat menemukan kode proyek ini di sini repositori GitHub.

Konfigurasi Koneksi Database

Untuk menyiapkan koneksi antara API Express.js dan instance PostgreSQL Render, di direktori akar folder proyek Anda, buat db.js file dan tambahkan kode di bawah ini.

const lutut = memerlukan('lutut');
const db = knex({
klien: 'hal',
koneksi: {
string koneksi: 'URL basis data',
ssl: {
menolakTidak sah: PALSU
}
}
});

modul.ekspor = db;

Selanjutnya, buka index.js file, dan tambahkan kode di bawahnya mengimplementasikan REST API sederhana dengan empat jalur.

const mengungkapkan = memerlukan("cepat");
const aplikasi = ekspres()
const db = memerlukan('./db')
const PORT = proses.env. PELABUHAN || 5000

aplikasi.gunakan (express.json())
app.use (express.urlencoded({ diperpanjang: BENAR }))

aplikasi.dapatkan('/', (req, res) => res.kirim('Halo Dunia!' ))

// Dapatkan semua pengguna
aplikasi.dapatkan('/pengguna', asinkron (req, res) => {
mencoba {
const pengguna = menunggu db.pilih().dari('pengguna')
res.json (pengguna)
} menangkap (kesalahan) {
menghibur.error (kesalahan)
res.status(500).json({ pesan: 'Kesalahan saat mengambil pengguna' })
}
})


aplikasi.posting('/pengguna', asinkron (req, res) => {
mencoba {
const pengguna = menunggu db('pengguna').menyisipkan({ nama: req.body.name }).returning('*')
res.json (pengguna)
} menangkap (kesalahan) {
menghibur.error (kesalahan)
res.status(500).json({ pesan: 'Kesalahan saat membuat pengguna' })
}
})

// Hapus pengguna yang ada
aplikasi.hapus('/pengguna/:id', asinkron (req, res) => {
mencoba {
const { id } = req.params
const pengguna = menunggu db('pengguna'.where({ id }).delete().returning('*')
res.json (pengguna)
} menangkap (kesalahan) {
menghibur.error (kesalahan)
res.status(500).json({ pesan: 'Kesalahan saat menghapus pengguna' })
}
})

app.listen (PORT, () => menghibur.catatan(`Server di PORT:${PORT}`))

Siapkan File migrasi.js

Buat map baru, skrip, di direktori akar proyek Anda, tambahkan file baru, migrasi.js, dan terakhir, tambahkan kode di bawah ini:

const db = memerlukan('../db');
(asinkron () => {
mencoba {
menunggu db.schema.dropTableIfExists('pengguna')
menunggu db.skema.denganSkema('publik').buat tabel('pengguna', (tabel) => {
table.increments()
tabel.string('nama')
})
menghibur.catatan('Membuat tabel pengguna!')
proses.keluar(0)
} menangkap (salah) {
menghibur.log (salah)
proses.keluar(1)
}
})()

Kode ini akan membuat yang baru pengguna tabel dalam database dengan dua kolom: bidang kunci primer yang bertambah secara otomatis dan bidang nama.

Terakhir, tambahkan perintah ini ke file Anda package.json mengajukan.

"skrip": {
"awal": "simpul index.js",
"migrasi": "skrip simpul/migrasi.js",
},

Terakhir, untuk membuat tabel pengguna di database, Anda perlu menjalankan migrasi.js file sebagai skrip di terminal Anda menggunakan perintah di bawah ini.

npm jalankan migrasi

Namun, sebelum menjalankan perintah, pastikan untuk mengambil file URL Database Eksternal dari informasi pengaturan instance PostgreSQL Render, dan tempelkan ke file db.js file sebagai string koneksi.

Ini akan membuat koneksi dengan instance database dari mesin lokal Anda, memungkinkan Anda membuat tabel sebelum menerapkan API. Setelah tabel dibuat, Anda kemudian dapat menuju ke instance PostgreSQL Render Anda, mengambil file URL Basis Data Internal, dan memperbarui db.js mengajukan sesuai.

Terapkan REST API pada Render

Pertama, buat repositori baru di GitHub dan dorong kode proyek. Selanjutnya, masuk ke akun Render Anda, klik pada Baru+, lalu pilih Layanan web pilihan dari menu drop-down.

Terakhir, akses akun GitHub Anda, pilih repositori proyek Anda, dan sambungkan ke Render.

Pada halaman pengaturan layanan web, berikan nama untuk layanan baru, tentukan direktori root proyek, perintah bangun dan mulai, dan terakhir, klik Buat Layanan Web. Setelah proses penerapan selesai, salin URL yang disediakan untuk menguji titik akhir di Postman.

Uji Titik Akhir API pada Postman

Tukang pos adalah alat populer untuk mengembangkan dan menguji API. Untuk mengenal tukang pos, pelajari cara menggunakannya untuk menguji API.

Untuk menguji API yang diterapkan, buat a POS permintaan ke /pengguna titik akhir untuk menyimpan data dalam database PostgreSQL.

Terakhir, buat permintaan GET untuk mengambil data yang disimpan.

Apakah Render Alternatif yang Layak?

Render menyediakan proses penyiapan yang mudah, dan integrasi tanpa batas dengan sistem kontrol versi populer menjadikannya platform hosting cloud alternatif yang baik.

Selain itu, model penetapan harganya yang kompetitif dan dukungan bawaan untuk alat pengembangan populer menjadikannya pilihan yang andal dan ramah pengguna untuk proyek sampingan dan aplikasi komersial besar.