Mengembangkan aplikasi Next.js hanyalah fase awal; langkah penting berikutnya adalah deployment. Proses ini melibatkan penyediaan aplikasi Anda untuk pengguna di internet. Strategi deployment yang efektif sangat penting untuk memastikan performa, skalabilitas, dan keandalan aplikasi Anda. Panduan ini akan memandu Anda melalui langkah-langkah untuk men-deploy aplikasi Next.js dengan sukses.
Next.js adalah framework React yang dibangun berdasarkan React dengan menambahkan fitur yang memudahkan pembuatan dan pengoptimalan otomatis situs yang siap produksi.
Sederhananya, Next.js adalah framework yang membantu Anda membangun aplikasi modern dengan React. Framework ini memiliki dukungan server, serta image dan komponen yang dioptimalkan yang memungkinkan hasil cepat sekaligus menjaga transfer file tetap kecil.
Keduanya mungkin terlihat mirip dan menjalankan JavaScript, tetapi ada perbedaan besar dalam hal fungsi dan kegunaannya.
Fitur | React (default) | Next.js |
Keramahan terhadap SEO | Mungkin sulit | Ramah SEO |
Performa pemuatan awal | Lebih lambat | Lebih cepat |
Pengambilan data | Memerlukan implementasi manual | Dilengkapi dengan getServerSideProps dan getStaticProps |
Pemilihan Rute | Menggunakan library pemilihan rute (misalnya, React Router) | Pemilihan rute berbasis sistem file |
Kompleksitas | Lebih mudah | Lebih banyak yang sudah dikonfigurasi sejak awal |
React (default)
Next.js
Keramahan terhadap SEO
Mungkin sulit
Ramah SEO
Performa pemuatan awal
Lebih lambat
Lebih cepat
Pengambilan data
Memerlukan implementasi manual
Dilengkapi dengan getServerSideProps dan getStaticProps
Pemilihan Rute
Menggunakan library pemilihan rute (misalnya, React Router)
Pemilihan rute berbasis sistem file
Kompleksitas
Lebih mudah
Lebih banyak yang sudah dikonfigurasi sejak awal
Untuk banyak aplikasi React, langkah-langkahnya umumnya sama, tetapi kami merekomendasikan penggunaan framework Next.js. Untuk persyaratan performa tinggi dan tingkat lanjut, framework ini akan mengelola banyak komponen yang membantu menskalakan aplikasi Anda dengan lebih efisien dan mengoptimalkan SEO situs React Anda.
Anda harus membuat template menggunakan terminal agar semua detail dan persyaratan kode ada di sana.
Gunakan terminal:
npx create-next-app@latest
Untuk mengikuti, Anda juga memerlukan beberapa konfigurasi.
Anda akan memerlukan petunjuk tentang apa yang diperlukan, apa yang Anda butuhkan (informasi server atau klien), dan di mana informasi tersebut berada. Berikut hal-hal yang dapat Anda harapkan dalam build yang akan dibuat.
"Ini untuk performa dan kecepatan.”
Sekali lagi, hal ini dapat membantu memastikan Anda memiliki bagian yang siap sehingga membuat Anda menginginkan komponen dengan sisi server dan/atau klien.
Sekarang perbarui kode dan buat tata letaknya bagus.
Anda mungkin memerlukan informasi tentang hal ini, jadi pertimbangkan dokumentasi ini.
Setelah Anda melakukan perubahan ini, penyiapan selesai. Biarkan itu dirender.
Kecepatan situs Anda sangat penting untuk pengoptimalan mesin telusur yang optimal. JavaScript sendiri dapat memperlambat rendering dan berdampak negatif terhadap performa penelusuran. Namun, penggunaan Next.js dapat memitigasi masalah ini. Oleh karena itu, prioritaskan pengalaman pemuatan yang cepat dan pengelolaan data yang efisien di situs Anda. Keamanan yang kuat dan produk berkualitas tinggi memerlukan penggunaan data pengujian yang cermat, dengan mematuhi privasi dan akses.
Pemilihan rute sisi klien
Sebagian besar aplikasi React menggunakan library seperti react-router-dom untuk menangani navigasi. Karena hal ini terjadi di browser, server hosting Anda harus dikonfigurasi untuk mendukungnya. Hal ini biasanya berarti mengarahkan semua permintaan halaman ke file index.html root Anda, sehingga React Router dapat mengambil alih dan menampilkan komponen yang benar.
Variabel lingkungan
Aplikasi Anda kemungkinan akan memerlukan konfigurasi yang berbeda untuk pengembangan dan produksi, seperti kunci API atau endpoint database. Penting untuk mengelola hal ini menggunakan variabel lingkungan (misalnya, melalui file .env) agar Anda tidak mengekspos informasi sensitif dalam kode sumber Anda.
Komunikasi API backend
Frontend React bertanggung jawab atas UI, tetapi biasanya mendapatkan data dinamis dari API backend. Saat men-deploy, Anda harus memastikan aplikasi React Anda mengetahui URL produksi API yang benar dan dikonfigurasi untuk menangani Cross-Origin Resource Sharing (CORS) jika API dihosting di domain yang berbeda.
Cloud Run dapat menjadi pilihan yang baik untuk men-deploy aplikasi React jika Anda ingin menggunakan alur kerja berbasis container, yang memberikan konsistensi dan portabilitas maksimum. Mulai dengan Panduan memulai untuk membangun dan men-deploy aplikasi Next.js React di Cloud Run.
Untuk mentransfer dengan benar. Pastikan Anda telah menerapkan semua detail yang relevan untuk setelan data dan transfer.
Dengan menggunakan langkah-langkah ini, pastikan setiap tahap memiliki semua detail yang diperlukan untuk project.
# Instal dependensi hanya ketika dibutuhkan FROM node:16-alpine AS deps # Periksa https://github.com/nodejs/docker-node/tree/b4117f933ba60658f2812f36b8 117330a1dc25ab#alpine RUN apk add --no-cache libc6-compat WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci # Jika menggunakan turbo, hapus tanda komentar pada bagian ini juga: # COPY turbo.json ./ # COPY .gitignore ./ # Tambahkan variabel env ENV NEXT_TELEMETRY_DISABLED 1 # Rebuild hook memungkinkan memeriksa apa yang boleh dan tidak boleh disertakan RUN npm run build ############### #### Tahap 2: Image produksi ### ############### FROM node:16-alpine AS runner WORKDIR /app # NEXT_PUBLIC_... variabel env selama waktu build. ENV NODE_ENV production # Anda hanya perlu menyalin next.config.js jika menggunakan file konfigurasi kustom COPY --from=builder /app/next.config.js ./ COPY --from=builder /app/public ./public COPY --from=builder /app/.next ./.next COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/package.json ./package.json # Lihat detail di: https://cloud.google.com/run/docs /configuring/traffic ENV PORT 8080 EXPOSE 8080 CMD ["npm", "start"] |
# Instal dependensi hanya ketika dibutuhkan
FROM node:16-alpine AS deps
# Periksa https://github.com/nodejs/docker-node/tree/b4117f933ba60658f2812f36b8
117330a1dc25ab#alpine
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
# Jika menggunakan turbo, hapus tanda komentar pada bagian ini juga:
# COPY turbo.json ./
# COPY .gitignore ./
# Tambahkan variabel env
ENV NEXT_TELEMETRY_DISABLED 1
# Rebuild hook memungkinkan memeriksa apa yang boleh dan tidak boleh disertakan
RUN npm run build
###############
#### Tahap 2: Image produksi ###
###############
FROM node:16-alpine AS runner
WORKDIR /app
# NEXT_PUBLIC_... variabel env selama waktu build.
ENV NODE_ENV production
# Anda hanya perlu menyalin next.config.js jika menggunakan file konfigurasi kustom
COPY --from=builder /app/next.config.js ./
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./package.json
# Lihat detail di: https://cloud.google.com/run/docs
/configuring/traffic
ENV PORT 8080
EXPOSE 8080
CMD ["npm", "start"]
Sekarang Anda harus men-deploy. Gunakan platform seperti Cloud Build dan hubungkan file konfigurasi.
Sekarang, biarkan Cloud Run menjadi metode terakhir untuk menanganinya sambil mengingat apakah metode ini membantu dan benar. Pastikan untuk merujuk ke alat dan kode utama serta menjalankannya dengan lancar.
Firebase juga dapat menjadi tempat yang bagus untuk deployment, jadi ingatlah langkah-langkah sederhana ini. Siap mengintegrasikan Next.js di Firebase? Ikuti dokumentasi lengkap.
Ikuti konfigurasi untuk apa yang diperlukan oleh gambar atau dokumen ini (SSL diperlukan) agar semuanya berfungsi dengan aman.
Lanjutkan dengan cara menginstal dan menjalankan Firebase CLI.
npm install -g firebase-tools
Ikuti “Firebase Init - Hosting”.
Pastikan URL ditulis ulang dan akurat di command line.
Gunakan dengan "no"; ini akan memastikan bahwa saat semuanya di-deploy, tidak akan ada masalah.
Anda akan memerlukan pengujian lokal; hal ini memerlukan kode host lokal.
Setelah mengautentikasi CLI, kirimkan ke repositori ini:
Sekarang Anda mengupload:
Untuk mengetahui daftar lengkap tips pengembangan umum di Cloud Run, baca dokumentasi ini.
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.