Uvajanje aplikacij Node.js ne bi smelo predstavljati težav. Zaženite svoj strežnik Express.js s stroškovno učinkovito in uporabniku prijazno platformo Render.

Konec leta 2022 je Heroku ukinil svojo možnost brezplačne stopnje, kar je povzročilo odstranitev prej razpoložljivega brezplačnega naročniškega načrta za spletno gostovanje in druge storitve v oblaku v njegovem ekosistemu.

Brezplačne ravni so še posebej priročne in stroškovno učinkovite, če nameravate namestiti in gostiti aplikacije za kratek čas. Na srečo obstaja alternativna platforma v oblaku, ki tako kot Heroku med drugimi ugodnostmi ponuja brezplačno raven za svoje storitve v oblaku.

V tem članku bomo raziskali, kako uvesti Express.js REST API na Render, platformo za gostovanje v oblaku.

Kaj je upodabljanje?

Render je platforma za gostovanje v oblaku, ki zagotavlja brezhiben in enostaven način za uvajanje in upravljanje statičnih spletnih mest, polnopravnih spletnih aplikacij, zalednih API-jev ali baz podatkov v oblaku. Funkcije vključujejo:

instagram viewer
  • Uporabniku prijazen vmesnik: Render zagotavlja preprost in intuitiven vmesnik, ki poenostavi postopek uvajanja aplikacij, izdelanih z uporabo priljubljenih programskih jezikov, kot sta Python in Node.js.
  • Vgrajene baze podatkov: Render ponuja vgrajeno podporo za priljubljene baze podatkov, kot so PostgreSQL, MySQL in MongoDB, zaradi česar je enostavna nastavitev in integracija baz podatkov v aplikacije, ne da bi morali nastaviti ločeno bazo podatkov strežniki.
  • Potek dela brezhibnega uvajanja: Render zagotavlja funkcije, kot so samodejne uvedbe, povrnitve in integracije s priljubljenimi storitvami, kot sta GitHub in GitLab.
  • Domene po meri in SSL: Render ponuja možnost konfiguriranja imen domen po meri za spletna mesta in spletne aplikacije ter vključuje brezplačna potrdila SSL za varen dostop HTTPS.

Primerjava med Renderjem in Heroku

Tako kot druge platforme v oblaku ima tudi Render svoje prednosti in slabosti. Kako pa se primerja s priljubljenimi rešitvami v oblaku, kot je Heroku?

  • Preprostost: Render ponuja uporabniku prijazen vmesnik za uvajanje in upravljanje aplikacij, s poudarkom na enostavni uporabi in minimalni konfiguraciji.
  • Samodejno skaliranje: Render samodejno spreminja velikost aplikacij glede na zahtevo, ne da bi zahteval ročne prilagoditve ali zapleteno konfiguracijo.
  • Stroškovna učinkovitost: Render ponuja stroškovno učinkovito ceno, ki vključuje brezplačno raven za posamezne projekte in relativno nizke cene za ekipe in organizacijski načrti, zaradi česar je proračunu prijazna možnost za gostovanje tako majhnih spletnih aplikacij kot velikih komercialnih projekti.
  • Omejena prilagodljivost: Njegova preprostost in minimalna konfiguracija sta lahko omejitev za napredne in kompleksne projekte, ki zahtevajo več prilagajanja in nadzora nad okoljem gostovanja.

Nastavite nov projekt na Render

Za začetek pojdite na Renderjevo spletno mesto ter se prijavite in prijavite v svoj račun.

Render olajša uvajanje in upravljanje zalednih API-jev, saj ponuja vgrajeno podporo za priljubljene programske jezike in spletne storitve, ki poenostavijo postopek uvajanja.

Ta priročnik bo uporabil funkcijo spletnih storitev za uvedbo REST API Express.js. Če želite slediti, boste morali najprej nastaviti primerek baze podatkov PostgreSQL na Render.

Na strani s pregledom kliknite na Nov PostgreSQL gumb za nastavitev novega primerka.

Nato vnesite ime svoje zbirke podatkov in kliknite na Ustvari bazo podatkov. Končno kopirajte URL notranje baze podatkov pod pogojem. Uporabili ga boste za konfiguracijo povezave med API-jem Express REST in bazo podatkov PostgreSQL.

V bistvu se URL notranje baze podatkov uporablja za vzpostavitev povezave med aplikacijami, ki se izvajajo na Renderjevih strežnikih, kot je razporejen API ali polnopravna spletna aplikacija.

Kljub temu, če želite uporabiti samo bazo podatkov PostgreSQL iz aplikacije, nameščene na drugi platformi, lahko uporabite URL zunanje baze podatkov za konfiguracijo povezave z bazo podatkov.

Ustvarite API REST Express.js

Kar naprej in ustvarite spletni strežnik Express.js. Nato namestite naslednje pakete:

npm namestite pg knex

Tukaj lahko najdete kodo tega projekta Repozitorij GitHub.

Konfigurirajte povezavo z bazo podatkov

Če želite nastaviti povezavo med API-jem Express.js in primerkom PostgreSQL Renderja, v korenskem imeniku mape projekta ustvarite db.js datoteko in dodajte spodnjo kodo.

konst knex = zahtevati('knex');
konst db = knex({
stranka: 'pg',
povezava: {
ConnectionString: 'URL zbirke podatkov',
ssl: {
zavrni nepooblaščeno: lažno
}
}
});

modul.exports = db;

Nato odprite index.js datoteko in dodajte spodnjo kodo implementira preprost API REST s štirimi progami.

konst izraziti = zahtevati("ekspresno");
konst app = express()
konst db = zahtevati('./db')
konst PORT = process.env. PRISTANIŠČE || 5000

app.use (express.json())
app.use (express.urlencoded({ podaljšan: prav }))

app.get('/', (req, res) => res.send('Pozdravljen, svet!' ))

// Pridobi vse uporabnike
app.get('/uporabniki', asinh (req, res) => {
poskusi {
konst uporabniki = čakati db.select().from('uporabniki')
res.json (uporabniki)
} ulov (napaka) {
konzola.error (napaka)
res.status(500).json({ sporočilo: »Napaka pri pridobivanju uporabnikov« })
}
})


app.post('/uporabniki', asinh (req, res) => {
poskusi {
konst uporabnik = čakati db('uporabniki').vstavi({ ime: req.body.name }).returning('*')
res.json (uporabnik)
} ulov (napaka) {
konzola.error (napaka)
res.status(500).json({ sporočilo: 'Napaka pri ustvarjanju uporabnika' })
}
})

// Brisanje obstoječega uporabnika
app.delete('/uporabniki/:id', asinh (req, res) => {
poskusi {
konst { id } = req.params
konst uporabnik = čakati db('uporabniki').where({ id }).delete().returning('*')
res.json (uporabnik)
} ulov (napaka) {
konzola.error (napaka)
res.status(500).json({ sporočilo: 'Napaka pri brisanju uporabnika' })
}
})

app.listen (PORT, () => konzola.log(`Strežnik na PORT:${PORT}`))

Nastavite datoteko migrate.js

Ustvari novo mapo, skripte, v korenskem imeniku vašega projekta dodajte novo datoteko, migrate.js, in na koncu dodajte spodnjo kodo:

konst db = zahtevati('../db');
(asinh () => {
poskusi {
čakati db.schema.dropTableIfExists('uporabniki')
čakati db.schema.withSchema('javno').createTable('uporabniki', (tabela) => {
table.increments()
table.string('ime')
})
konzola.log('Ustvarjena tabela uporabnikov!')
proces.izhod(0)
} ulov (napaka) {
konzola.log (napaka)
proces.izhod(1)
}
})()

Ta koda bo ustvarila novo uporabniki tabelo v zbirki podatkov z dvema stolpcema: poljem primarnega ključa s samodejnim povečanjem in poljem imena.

Na koncu dodajte te ukaze svojemu package.json mapa.

"skripte": {
"začetek": "vozlišče index.js",
"selitev": "skripti vozlišč/migrate.js",
},

Nazadnje, če želite ustvariti uporabniško tabelo v bazi podatkov, morate zagnati migrate.js datoteko kot skript na vašem terminalu z uporabo spodnjega ukaza.

npm zaženite selitev

Preden pa zaženete ukaz, se prepričajte, da pridobite URL zunanje baze podatkov iz Renderjevih informacij o nastavitvah primerka PostgreSQL in ga prilepite v db.js datoteko kot povezovalni niz.

To bo vzpostavilo povezavo s primerkom baze podatkov iz vašega lokalnega računalnika, kar vam bo omogočilo, da ustvarite tabelo pred uvedbo API-ja. Ko je tabela ustvarjena, se lahko pomaknete do primerka PostgreSQL vašega Renderja, pridobite URL notranje baze podatkov, in posodobite db.js datoteko ustrezno.

Razmestite REST API na Render

Prvič, ustvarite novo skladišče na GitHubu in potisnite kodo projekta. Nato se prijavite v svoj račun Render, kliknite na Novo+ in izberite Spletna storitev možnost v spustnem meniju.

Na koncu odprite svoj račun GitHub, izberite repozitorij svojega projekta in se povežite z njim na Renderju.

Na strani z nastavitvami spletne storitve podajte ime za novo storitev, določite korenski imenik projekta, ukaz za gradnjo in zagon ter na koncu kliknite Ustvari spletno storitev. Ko je postopek uvajanja končan, kopirajte navedeni URL, da preizkusite končne točke na Postmanu.

Preizkusite končne točke API na Postmanu

Postman je priljubljeno orodje za razvoj in testiranje API-jev. Če želite spoznati Poštarja, naučite se uporabljati za testiranje API-ja.

Če želite preizkusiti nameščeni API, naredite a OBJAVI zahteva na /uporabniki končna točka za shranjevanje podatkov v bazi podatkov PostgreSQL.

Nazadnje naredite zahtevo GET za pridobitev shranjenih podatkov.

Ali je Render izvedljiva alternativa?

Render zagotavlja preprost postopek namestitve in brezhibno integracijo s priljubljenimi sistemi za nadzor različic, zaradi česar je dobra alternativna platforma za gostovanje v oblaku.

Poleg tega je zaradi konkurenčnega cenovnega modela in vgrajene podpore za priljubljena razvojna orodja zanesljiva in uporabniku prijazna možnost za stranske projekte in velike komercialne aplikacije.