cari
Rumahhujung hadapan webtutorial cssMembina API Graphql tanpa pelayan dalam nod dengan Express dan Netlify

Membina API Graphql tanpa pelayan dalam nod dengan Express dan Netlify

Membina API boleh kelihatan menakutkan, tetapi ia tidak perlu. Tutorial ini menunjukkan cara membuat dan menggunakan API yang mudah dan mudah dibaca dalam masa satu jam menggunakan kod minimum dan alat yang tersedia. Tiada pengalaman back-end yang luas diperlukan; Pemahaman asas JavaScript dan NPM cukup.

Panduan ini menafikan konsep API biasa seperti REST dan memperkenalkan GraphQL dan Arsitektur tanpa pelayan. Kami akan menggunakan alat yang tersedia dan menerangkan tujuan mereka di sepanjang jalan. Pada akhirnya, anda akan mempunyai API yang digunakan tanpa sakit kepala pengurusan pelayan.

Konsep utama: Graphql dan tanpa pelayan

API pada asasnya melibatkan membaca dan mengemas kini data. REST API Gunakan URL untuk menentukan titik akses data, yang memerlukan pelbagai permintaan untuk pengambilan data yang kompleks. GraphQL meningkatkan kecekapan dengan membenarkan pelanggan menentukan data yang tepat yang diperlukan dalam satu permintaan. Hubungan data diwakili sebagai graf, mengoptimumkan pengambilan data.

Senibina tanpa pelayan menghapuskan keperluan untuk menguruskan pelayan. Anda hanya membayar untuk sumber yang digunakan, memudahkan penggunaan dan penyelenggaraan. Kami akan memanfaatkan fungsi Netlify untuk fungsi tanpa pelayan ini.

Alat perdagangan

  1. Node.js dan Express: Node.js membolehkan pelaksanaan JavaScript sisi pelayan, sementara Express memudahkan pembangunan API dengan ciri-ciri seperti penghalaan dan middleware.

  2. Fungsi Netlify: Platform tanpa pelayan yang menyediakan penggunaan percuma dan penskalaan fungsi. Netlify Dev membolehkan ujian tempatan.

Persediaan Projek

  1. Buat direktori projek baru dan mulakannya dengan npm init .

  2. Pasang Pakej yang diperlukan: npm i express express-graphql graphql body-parser serverless-http netlify-cli -g

Struktur fail dan konfigurasi

  • netlify.toml : Mengkonfigurasi netlify untuk membina dan menggunakan. Secara asasnya, ia menentukan lokasi fungsi tanpa pelayan:
 [Membina]
Command = "NPM Run Build"
Terbitkan = "Membina"
fungsi = "Fungsi"
  • /functions/api.js : Mengandungi kod API.

Pecahan Kod api.js

  1. Ketergantungan Import:
 const express = memerlukan ("Express");
constParser = memerlukan ("badan-parser");
const Expressgraphql = memerlukan ("Express-Graphql");
constless = memerlukan ("Serverless-Http");
const {graphqlschema, graphqlObjectType, graphqlstring} = memerlukan ("graphql");
  1. Inisialisasi pembungkus ekspres dan tanpa pelayan:
 const app = express ();
modul.exports.handler = serverless (app);
  1. Konfigurasikan middleware ekspres:
 app.use (bodyParser.json ());
app.use ("/", ExpressGraphql ({Skema: Skema, Graphiql: True}));
  1. Tentukan skema GraphQL:
 const skema = graphqlschema baru ({
  pertanyaan: graphqlobjectType baru ({
    Nama: "Helloworld",
    medan: () => ({
      Mesej: {
        Jenis: Graphqlstring,
        Selesaikan: () => "Hello World",
      },
    }),
  }),
});

Pembangunan dan ujian tempatan

Jalankan netlify dev di terminal anda. Akses Taman Permainan GraphIQL di http://localhost:8888/.netlify/functions/api . Uji API anda dengan menanyakan { message } .

Penggunaan

Sambungkan projek anda ke Netlify (contohnya, melalui GitHub) untuk penggunaan automatik. Netlify akan mengendalikan bangunan dan menggunakan fungsi tanpa pelayan anda.

Pilihan: Permintaan pengalihan semula

Buat fail _redirects di root projek anda untuk mengalihkan permintaan dari /api ke fungsi Netlify anda:

 <code>/api /.netlify/functions/api 200!</code>

Ini memudahkan akses API.

Kesimpulan

Tutorial ini menyediakan asas untuk membina dan menggunakan API GraphQL tanpa pelayan dengan mudah. Pendekatan ini berskala dan membolehkan pembangunan API yang lebih kompleks seperti yang diperlukan. Ingatlah untuk meneroka sumber yang berkaitan untuk menyelam yang lebih mendalam ke dalam GraphQL dan Teknologi tanpa pelayan. Kod sumber lengkap boleh didapati di GitHub (pautan yang disediakan dalam artikel asal).

Atas ialah kandungan terperinci Membina API Graphql tanpa pelayan dalam nod dengan Express dan Netlify. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah grid CSS?Apakah grid CSS?Apr 30, 2025 pm 03:21 PM

CSS Grid adalah alat yang berkuasa untuk mewujudkan susun atur web yang rumit dan responsif. Ia memudahkan reka bentuk, meningkatkan kebolehcapaian, dan menawarkan lebih banyak kawalan daripada kaedah yang lebih lama.

Apakah CSS Flexbox?Apakah CSS Flexbox?Apr 30, 2025 pm 03:20 PM

Artikel membincangkan CSS Flexbox, kaedah susun atur untuk penjajaran yang cekap dan pengedaran ruang dalam reka bentuk responsif. Ia menerangkan penggunaan Flexbox, membandingkannya dengan grid CSS, dan butiran sokongan penyemak imbas.

Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Apr 30, 2025 pm 03:19 PM

Artikel ini membincangkan teknik untuk membuat laman web responsif menggunakan CSS, termasuk tag Meta Viewport, grid fleksibel, media cecair, pertanyaan media, dan unit relatif. Ia juga meliputi menggunakan grid CSS dan Flexbox bersama -sama dan mengesyorkan rangka kerja CSS

Apakah harta saiz kotak CSS?Apakah harta saiz kotak CSS?Apr 30, 2025 pm 03:18 PM

Artikel ini membincangkan harta saiz kotak CSS, yang mengawal bagaimana dimensi elemen dikira. Ia menerangkan nilai seperti kotak kandungan, kotak sempadan, dan kotak padding, dan kesannya terhadap reka bentuk susun atur dan penjajaran bentuk.

Bagaimanakah kita boleh menghidupkan CSS?Bagaimanakah kita boleh menghidupkan CSS?Apr 30, 2025 pm 03:17 PM

Artikel membincangkan membuat animasi menggunakan CSS, sifat utama, dan menggabungkan dengan JavaScript. Isu utama adalah keserasian penyemak imbas.

Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Apr 30, 2025 pm 03:16 PM

Artikel membincangkan menggunakan CSS untuk transformasi 3D, sifat utama, keserasian penyemak imbas, dan pertimbangan prestasi untuk projek web. (Kira -kira aksara: 159)

Bagaimana kita boleh menambah kecerunan dalam CSS?Bagaimana kita boleh menambah kecerunan dalam CSS?Apr 30, 2025 pm 03:15 PM

Artikel ini membincangkan menggunakan kecerunan CSS (linear, radial, mengulangi) untuk meningkatkan visual laman web, menambah kedalaman, fokus, dan estetika moden.

Apakah unsur-unsur pseudo dalam CSS?Apakah unsur-unsur pseudo dalam CSS?Apr 30, 2025 pm 03:14 PM

Artikel membincangkan unsur-unsur pseudo dalam CSS, penggunaannya dalam meningkatkan gaya HTML, dan perbezaan dari kelas pseudo. Menyediakan contoh praktikal.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma