Η ανάπτυξη εφαρμογών Node.js δεν θα πρέπει να είναι δύσκολη. Ενεργοποιήστε τον διακομιστή Express.js σας με την οικονομικά αποδοτική και φιλική προς το χρήστη πλατφόρμα του Render.

Στα τέλη του 2022, η Heroku διέκοψε την επιλογή της δωρεάν βαθμίδας, με αποτέλεσμα την κατάργηση του προηγουμένως διαθέσιμου προγράμματος δωρεάν συνδρομής για φιλοξενία ιστοσελίδων και άλλες υπηρεσίες cloud στο οικοσύστημά της.

Τα δωρεάν επίπεδα είναι ιδιαίτερα εύχρηστα και οικονομικά, εάν σκοπεύετε να αναπτύξετε και να φιλοξενήσετε εφαρμογές για σύντομο χρονικό διάστημα. Ευτυχώς, υπάρχει μια εναλλακτική πλατφόρμα cloud που, όπως η Heroku, προσφέρει μια δωρεάν βαθμίδα για τις υπηρεσίες cloud της μεταξύ άλλων προνομίων.

Σε αυτό το άρθρο, θα εξερευνήσουμε πώς να αναπτύξουμε ένα Express.js REST API στο Render, μια πλατφόρμα φιλοξενίας που βασίζεται σε σύννεφο.

Τι είναι το Render;

Το Render είναι μια πλατφόρμα φιλοξενίας cloud που παρέχει έναν απρόσκοπτο και χωρίς προβλήματα τρόπο ανάπτυξης και διαχείρισης στατικών ιστότοπων, ολοκληρωμένων εφαρμογών ιστού, API υποστήριξης ή βάσεων δεδομένων στο cloud. Τα χαρακτηριστικά περιλαμβάνουν:

instagram viewer

  • Φιλική προς το χρήστη διεπαφή: Το Render παρέχει μια απλή και διαισθητική διεπαφή που απλοποιεί τη διαδικασία ανάπτυξης εφαρμογών που έχουν δημιουργηθεί χρησιμοποιώντας δημοφιλείς γλώσσες προγραμματισμού όπως η Python και η Node.js.
  • Ενσωματωμένες βάσεις δεδομένων: Το Render προσφέρει ενσωματωμένη υποστήριξη για δημοφιλείς βάσεις δεδομένων όπως PostgreSQL, MySQL και MongoDB, καθιστώντας το εύκολο να ρυθμίσετε και να ενσωματώσετε βάσεις δεδομένων σε εφαρμογές χωρίς να χρειάζεται να δημιουργήσετε ξεχωριστή βάση δεδομένων διακομιστές.
  • Απρόσκοπτη ροή εργασιών ανάπτυξης: Το Render παρέχει λειτουργίες όπως αυτοματοποιημένες αναπτύξεις, επαναλήψεις και ενσωματώσεις με δημοφιλείς υπηρεσίες όπως το GitHub και το GitLab.
  • Προσαρμοσμένοι τομείς και SSL: Το Render προσφέρει τη δυνατότητα διαμόρφωσης προσαρμοσμένων ονομάτων τομέα για ιστότοπους και εφαρμογές web και περιλαμβάνει δωρεάν πιστοποιητικά SSL για ασφαλή πρόσβαση HTTPS.

Σύγκριση μεταξύ Render και Heroku

Όπως και οι άλλες πλατφόρμες cloud, το Render έχει τα προνόμια και τα μειονεκτήματά του. Αλλά πώς συγκρίνεται με δημοφιλείς λύσεις cloud όπως το Heroku;

  • Απλότητα: Το Render παρέχει μια φιλική προς το χρήστη διεπαφή για την ανάπτυξη και τη διαχείριση εφαρμογών, με έμφαση στην ευκολία χρήσης και την ελάχιστη διαμόρφωση.
  • Αυτοματοποιημένη κλιμάκωση: Η απόδοση κλιμακώνει αυτόματα τις εφαρμογές με βάση τη ζήτηση, χωρίς να απαιτεί χειροκίνητες ρυθμίσεις ή πολύπλοκες ρυθμίσεις.
  • Η σχέση κόστους-αποτελεσματικότητας: Το Render προσφέρει οικονομική τιμολόγηση που περιλαμβάνει δωρεάν επίπεδο για μεμονωμένα έργα και σχετικά χαμηλή τιμή για ομάδες και οργανωτικά σχέδια, καθιστώντας το μια φιλική προς τον προϋπολογισμό επιλογή για τη φιλοξενία τόσο μικρής κλίμακας διαδικτυακών εφαρμογών όσο και μεγάλων εμπορικών έργα.
  • Περιορισμένη ευελιξία: Η απλότητα και η ελάχιστη διαμόρφωση του μπορεί να είναι περιορισμός για προηγμένα και πολύπλοκα έργα που απαιτούν περισσότερη προσαρμογή και έλεγχο στο περιβάλλον φιλοξενίας.

Ρυθμίστε ένα νέο έργο στο Render

Για να ξεκινήσετε, μεταβείτε στην κεφαλίδα Ο ιστότοπος του Render και εγγραφείτε και συνδεθείτε στον λογαριασμό σας.

Το Render διευκολύνει την ανάπτυξη και τη διαχείριση των backend API, προσφέροντας ενσωματωμένη υποστήριξη για δημοφιλείς γλώσσες προγραμματισμού και υπηρεσίες web που βελτιστοποιούν τη διαδικασία ανάπτυξης.

Αυτός ο οδηγός θα κάνει χρήση της δυνατότητας των υπηρεσιών ιστού για την ανάπτυξη ενός Express.js REST API. Για να ακολουθήσετε, θα χρειαστεί πρώτα να ρυθμίσετε μια παρουσία βάσης δεδομένων PostgreSQL στο Render.

Στη σελίδα επισκόπησης, κάντε κλικ στο Νέα PostgreSQL κουμπί για να ρυθμίσετε μια νέα παρουσία.

Στη συνέχεια, συμπληρώστε το όνομα της βάσης δεδομένων σας και κάντε κλικ στο Δημιουργία βάσης δεδομένων. Τέλος, αντιγράψτε το URL εσωτερικής βάσης δεδομένων υπό την προϋπόθεση. Θα το χρησιμοποιήσετε για να διαμορφώσετε τη σύνδεση μεταξύ του Express REST API και της βάσης δεδομένων PostgreSQL.

Ουσιαστικά, η διεύθυνση URL εσωτερικής βάσης δεδομένων χρησιμοποιείται για τη δημιουργία μιας σύνδεσης μεταξύ εφαρμογών που εκτελούνται σε διακομιστές του Render, όπως ένα αναπτυγμένο API ή μια πλήρης εφαρμογή Ιστού.

Ωστόσο, εάν θέλετε να χρησιμοποιήσετε τη βάση δεδομένων PostgreSQL μόνο από μια εφαρμογή που έχει αναπτυχθεί σε άλλη πλατφόρμα, μπορείτε να χρησιμοποιήσετε το URL εξωτερικής βάσης δεδομένων για να διαμορφώσετε τη σύνδεση της βάσης δεδομένων.

Δημιουργήστε ένα Express.js REST API

Προχώρα και δημιουργήστε έναν διακομιστή ιστού Express.js. Στη συνέχεια, εγκαταστήστε τα ακόλουθα πακέτα:

npm εγκατάσταση pg knex

Μπορείτε να βρείτε τον κωδικό αυτού του έργου σε αυτό Αποθετήριο GitHub.

Διαμορφώστε τη σύνδεση βάσης δεδομένων

Για να ρυθμίσετε τη σύνδεση μεταξύ του Express.js API και της παρουσίας PostgreSQL του Render, στον ριζικό κατάλογο του φακέλου του έργου σας, δημιουργήστε ένα db.js αρχείο και προσθέστε τον παρακάτω κώδικα.

συνθ knex = απαιτώ('knex');
συνθ db = knex({
πελάτης: 'σελ.',
σύνδεση: {
συμβολοσειρά σύνδεσης: "το URL της βάσης δεδομένων",
ssl: {
reject Μη εξουσιοδοτημένο: ψευδής
}
}
});

μονάδα μέτρησης.εξαγωγές = db;

Στη συνέχεια, ανοίξτε το index.js αρχείο και προσθέστε τον κώδικα παρακάτω υλοποιεί ένα απλό REST API με τέσσερις διαδρομές.

συνθ εκφράζω = απαιτώ("εξπρές");
συνθ app = express()
συνθ db = απαιτώ("./db")
συνθ PORT = διεργασία.env. ΛΙΜΑΝΙ || 5000

app.use (express.json())
app.use (express.urlencoded({ επεκτάθηκε: αληθής }))

app.get('/', (απαιτ., αναπ.) => res.send('Γειά σου Κόσμε!' ))

// Λήψη όλων των χρηστών
app.get('/χρήστες', ασυγχρονισμός (απαιτ., ανταπ.) => {
δοκιμάστε {
συνθ χρήστες = αναμένω db.select().from('χρήστες')
res.json (χρήστες)
} σύλληψη (λάθος) {
κονσόλα.error (σφάλμα)
res.status(500).json({ μήνυμα: "Σφάλμα κατά την ανάκτηση χρηστών" })
}
})


app.post('/χρήστες', ασυγχρονισμός (απαιτ., ανταπ.) => {
δοκιμάστε {
συνθ χρήστης = αναμένω db('χρήστες').εισάγετε({ όνομα: req.body.name }).returning('*')
res.json (χρήστης)
} σύλληψη (λάθος) {
κονσόλα.error (σφάλμα)
res.status(500).json({ μήνυμα: "Σφάλμα δημιουργίας χρήστη" })
}
})

// Διαγραφή υπάρχοντος χρήστη
app.delete('/users/:id', ασυγχρονισμός (απαιτ., ανταπ.) => {
δοκιμάστε {
συνθ { id } = req.params
συνθ χρήστης = αναμένω db('χρήστες').where({ id }).delete().returning('*')
res.json (χρήστης)
} σύλληψη (λάθος) {
κονσόλα.error (σφάλμα)
res.status(500).json({ μήνυμα: "Σφάλμα κατά τη διαγραφή χρήστη" })
}
})

app.listen (PORT, () => κονσόλα.κούτσουρο(`Διακομιστής στο PORT:${PORT}`))

Ρυθμίστε το αρχείο migrate.js

Δημιουργία νέου φακέλου, σενάρια, στον ριζικό κατάλογο του έργου σας, προσθέστε ένα νέο αρχείο, migrate.js, και τέλος, προσθέστε τον παρακάτω κώδικα:

συνθ db = απαιτώ("../db");
(ασυγχρονισμός () => {
δοκιμάστε {
αναμένω db.schema.dropTableIfExists('χρήστες')
αναμένω db.schema.withSchema('δημόσιο').createTable('χρήστες', (πίνακας) => {
table.increments()
table.string('όνομα')
})
κονσόλα.κούτσουρο("Δημιουργήθηκε πίνακας χρηστών!")
process.exit(0)
} σύλληψη (λάθος) {
κονσόλα.log (σφάλμα)
process.exit(1)
}
})()

Αυτός ο κωδικός θα δημιουργήσει έναν νέο χρήστες πίνακα στη βάση δεδομένων με δύο στήλες: ένα πεδίο πρωτεύοντος κλειδιού αυτόματης αύξησης και ένα πεδίο ονόματος.

Τέλος, προσθέστε αυτές τις εντολές στο δικό σας πακέτο.json αρχείο.

"σενάρια": {
"αρχή": "node index.js",
"αποδημώ": "node scripts/migrate.js",
},

Τέλος, για να δημιουργήσετε τον πίνακα του χρήστη στη βάση δεδομένων, πρέπει να εκτελέσετε το migrate.js αρχείο ως σενάριο στο τερματικό σας χρησιμοποιώντας την παρακάτω εντολή.

npm εκτέλεση μετεγκατάστασης

Ωστόσο, πριν εκτελέσετε την εντολή, φροντίστε να ανακτήσετε την URL εξωτερικής βάσης δεδομένων από τις πληροφορίες ρυθμίσεων παρουσίας PostgreSQL του Render και επικολλήστε το στο db.js αρχείο ως συμβολοσειρά σύνδεσης.

Αυτό θα δημιουργήσει μια σύνδεση με την παρουσία της βάσης δεδομένων από τον τοπικό σας υπολογιστή, επιτρέποντάς σας να δημιουργήσετε τον πίνακα πριν από την ανάπτυξη του API. Μόλις δημιουργηθεί ο πίνακας, μπορείτε στη συνέχεια να μεταβείτε στην παρουσία PostgreSQL του Render, να ανακτήσετε το URL εσωτερικής βάσης δεδομένωνκαι ενημερώστε το db.js καταθέστε ανάλογα.

Αναπτύξτε το REST API στο Render

Πρώτα, δημιουργήστε ένα νέο αποθετήριο στο GitHub και πιέστε τον κωδικό του έργου. Στη συνέχεια, συνδεθείτε στον λογαριασμό σας Render, κάντε κλικ στο Νέο+ κουμπί και επιλέξτε το Web Service επιλογή από το αναπτυσσόμενο μενού.

Τέλος, αποκτήστε πρόσβαση στο λογαριασμό σας στο GitHub, επιλέξτε το αποθετήριο του έργου σας και συνδεθείτε σε αυτό στο Render.

Στη σελίδα ρυθμίσεων της υπηρεσίας Ιστού, δώστε ένα όνομα για τη νέα υπηρεσία, καθορίστε τον ριζικό κατάλογο του έργου, την εντολή δημιουργίας και έναρξης και, τέλος, κάντε κλικ στο Δημιουργία Web Service. Μόλις ολοκληρωθεί η διαδικασία ανάπτυξης, αντιγράψτε την παρεχόμενη διεύθυνση URL για να δοκιμάσετε τα τελικά σημεία στο Postman.

Δοκιμάστε τα τελικά σημεία API στον Postman

Το Postman είναι ένα δημοφιλές εργαλείο για την ανάπτυξη και τη δοκιμή API. Για να εξοικειωθείτε με τον Ταχυδρόμο, μάθετε πώς να το χρησιμοποιείτε για να δοκιμάσετε ένα API.

Για να δοκιμάσετε το αναπτυγμένο API, κάντε ένα ΘΕΣΗ αίτημα προς το /χρήστες τελικό σημείο για την αποθήκευση δεδομένων στη βάση δεδομένων PostgreSQL.

Τέλος, κάντε ένα αίτημα GET για να ανακτήσετε τα αποθηκευμένα δεδομένα.

Είναι το Render μια βιώσιμη εναλλακτική λύση;

Το Render παρέχει μια απλή διαδικασία εγκατάστασης και απρόσκοπτη ενσωμάτωση με δημοφιλή συστήματα ελέγχου εκδόσεων, καθιστώντας το μια καλή εναλλακτική πλατφόρμα φιλοξενίας cloud.

Επιπλέον, το ανταγωνιστικό μοντέλο τιμολόγησης και η ενσωματωμένη υποστήριξη για δημοφιλή εργαλεία ανάπτυξης το καθιστούν μια αξιόπιστη και φιλική προς το χρήστη επιλογή τόσο για δευτερεύοντα έργα όσο και για μεγάλες εμπορικές εφαρμογές.