Blogger Jateng

Menyajikan File Statis dengan Express.js

Express.js adalah kerangka kerja web yang minimal dan cepat untuk Node.js, pilihan populer untuk membuat Aplikasi Web dan API. Menyajikan file statis (HTML, CSS, JavaScript, gambar, dan aset lainnya) adalah salah satu fungsi intinya. Express API: Menyajikan file statis di Express API Menyajikan file statis - Menyajikan file statis adalah salah satu persyaratan paling dasar dalam pengembangan web.

Pada artikel ini, Anda akan mempelajari cara menyajikan file statis menggunakan file konfigurasi express.js, dengan konfigurasi dasar, penanganan beberapa direktori, dan opsi lanjutan.

Apa yang dimaksud dengan file statis?

File statis adalah file yang dikirim server web ke klien tanpa modifikasi atau pemrosesan. Berkas-berkas ini meliputi:

  • HTML: memberikan struktur dan konten pada halaman web.
  • CSS: Lembar gaya untuk tampilan sesuatu.
  • JavaScript: Secara realistis, sekarang, untuk membuat Klien bekerja, untuk mengaktifkan interaktivitas dan logika, kita membutuhkan JavaScript.
  • Gambar: Gambar dalam format JPEG, PNG, SVG, atau GIF.
  • Aset: Jenis aset lainnya termasuk font, video, atau dokumen lain (seperti PDF).

File statis adalah aspek mendasar dari aplikasi web yang memungkinkan browser pengguna untuk merender antarmuka pengguna dan melibatkan pengguna.

sumber: stackabuse.com

Menyiapkan Proyek Express.js

Mari kita mulai menyajikan berkas statis di express- pastikan Anda memiliki node. Anda telah menginstal node.js dan npm di sistem Anda. Berikut adalah langkah-langkah untuk menyiapkan aplikasi express sederhana:

1. Inisialisasi Proyek Baru

Sekarang kita dapat membuat direktori proyek dari terminal Buka terminal dan cd ke direktori tersebut dan jalankan:

mkdir express-static-files

cd express-static-files

npm init -y

Ini akan menghasilkan sebuah paket. Di mana pengaturan defaultnya adalah: settings.

2. Instal Express.js

Instal framework Express menggunakan npm:

npm install express

3. Membuat File Proyek

Struktur Proyek DasarBuat struktur proyek dasar:

mkdir public

touch server.js

File statis Anda akan masuk ke dalam folder publik dan server. Kode server akan masuk ke dalam app.js.

Menyajikan File Statis

Express. Di Express, file statis dilayani menggunakan middleware statis Berikut ini cara mengaturnya:

1. Konfigurasi Dasar

Buka server. Buat berkas app.js baru dan letakkan kode di bawah ini:

const express = require('express');

const path = require('path');


const app = express();

const PORT = 3000;


// Serve static files from the 'public' directory

app.use(express.static(path.join(__dirname, 'public')));


// Start the server

app.listen(PORT, () => {

    console.log(`Server is running on http://localhost:${PORT}`);

});

Dalam pengaturan ini:
  • express. Anda bisa menggunakan middleware static() untuk menyajikan berkas-berkas statis dari direktori publik.
  • path. Penggunaan join(__dirname, 'public') membuatnya kompatibel di seluruh OS.

2. Menambahkan berkas-berkas statis

File statis masuk ke dalam folder publik Sebagai contoh:
  • public/index.html
  • public/style.css
  • public/script.js
Sekarang jika Anda membuka http://localhost:3000/index. html akan disajikan sebagai indeks oleh server. file html.

Middleware Statis dalam Bentuk Khusus

1. Cara Menyajikan File dari Beberapa Direktori

Namun, terkadang Anda perlu menyajikan file statis dari beberapa direktori. Anda dapat menambahkan beberapa lapisan middleware statis ekspres:

app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'assets')));

Dalam hal ini jika file tidak ada di folder publik maka akan dicek di dir aset.

2. Menggunakan Awalan Jalur Virtual

Gunakan untuk membuat awalan jalur virtual untuk menyajikan file statis. Catatan: Ini tidak berpengaruh pada struktur berkas fisik; ini hanya mengubah cara berkas diakses melalui URL.

app.use('/static', express.static(path.join(__dirname, 'public')));

Namun, file di direktori publik sekarang dapat diakses dengan http://localhost:3000/static/. 

3. Opsi Khusus

Fungsi express.static mengambil argumen kedua untuk opsi khusus. Opsi-opsi ini meliputi:
  • fallthrough: Menunjukkan apakah middleware harus melanjutkan permintaan yang tidak ditangani ke middleware berikutnya (default: true)
  • maxAge: Mengatur usia maksimal Cache-Control dalam milidetik.
  • ekstensi: Secara otomatis mencoba menyelesaikan permintaan dengan ekstensi file tertentu.
Contoh:

app.use(express.static(path.join(__dirname, 'public'), {
    maxAge: '1d', // Cache static files for one day
    extensions: ['html', 'htm'], // Automatically resolve .html or .htm files
}));

Kesimpulan

Ini adalah bagian penting dari pengembangan web - melayani file statis, dan Express. Express menyederhanakan tugas ini dalam js. middleware statis. Dengan pengetahuan tentang prinsip-prinsip dasar ini dan wawasan tentang opsi konfigurasi tingkat lanjut di gudang senjata Anda, Anda akan dapat menyajikan aset statis dalam aplikasi Anda secara efektif!

Jadi, tidak masalah jika Anda bekerja pada situs web sederhana atau aplikasi web yang kompleks, pastikan pengalaman pengembangan yang paling lancar dan optimalisasi pengiriman file dengan memanfaatkan kemampuan Express untuk penanganan file statis.