Permalänk

Node js express mongoDB

Tjena! Håller på med en hemsida där jag använder mig utav express, har med allt de här som är standard med require och port osv som fungerar som det ska. Har authentication med och använder mongodb. Jag försöker lägga till ett chatforum via socket.io, den har jag skapat i ett nytt projekt och jag undrar vad som är bästa lösningen här nu. Huvudkoden ligger ju i server.js i båda projekten, bör jag slå ihop dom eller är det enklast om dom ligger separat? Isåfall, hur kan jag få dom att fungera ihop? Något är säkert oklart förklarat så bara hojta till om ni behöver mer info!

Permalänk
Medlem

Jag skulle rekommendera att ha de som två separata appar av flera skäl, framförallt prestanda och separering av kodbasen.

De kan ju dela samma databas alternativt om du utvecklar ett API som båda apparna kan använda sig av.

Permalänk
Skrivet av ShinyChrome:

Jag skulle rekommendera att ha de som två separata appar av flera skäl, framförallt prestanda och separering av kodbasen.

De kan ju dela samma databas alternativt om du utvecklar ett API som båda apparna kan använda sig av.

Okej, det känns enklast att ha så i mitt tycke också. Dock är jag rätt så nybörjare här, kan du tipsa om någon länk eller så jag kan läsa vidare om detta på? För jag har ingen aning om hur jag ska få ihop båda projekten med varandra.

Permalänk
Medlem
Skrivet av PapaDiouf:

Okej, det känns enklast att ha så i mitt tycke också. Dock är jag rätt så nybörjare här, kan du tipsa om någon länk eller så jag kan läsa vidare om detta på? För jag har ingen aning om hur jag ska få ihop båda projekten med varandra.

Försök att särskilja på backend (den tekniska aspekten) och frontend (det som användarna faktiskt ser) så blir det lite lättare att få ihop det.

När du utvecklar i Node.js så har dina appar en definerad port, vanligtvis port 3000. När du har flera appar behöver de har en egen port, annars blir det konflikter.

Så när du sedan sätter upp apparna på servern mot en domän, vi kan ta domän.nu som exempel, så kan man med hjälp av en så kallad reverse proxy tilldela specifika adresser mot specifika portar på servern.

Exempel;

App 1 (Din webbsida): http://localhost:3000
App 2 (Ditt chattforum): http://localhost:4000

Ponera då att webbsidan använder domän.nu och chatten domän.nu/chatt, då kopplar man (med hjälp av proxyn) "/" till localhost:3000 och sedan "/chatt" mot localhost:4000. Det fungerar även att använda subdomäner om man vill.

Jag brukar använda Ubuntu Server för att hosta mina Node.js appar och använder då Nginx Reverse Proxy.

Det finns säkert andra metoder, men den här är en av de vanligaste. Jag vet att vissa webbhotell har stöd för hosting av Node.js, då kan det vara lite enklare att göra den kopplingen.

Permalänk
Skrivet av ShinyChrome:

Försök att särskilja på backend (den tekniska aspekten) och frontend (det som användarna faktiskt ser) så blir det lite lättare att få ihop det.

När du utvecklar i Node.js så har dina appar en definerad port, vanligtvis port 3000. När du har flera appar behöver de har en egen port, annars blir det konflikter.

Så när du sedan sätter upp apparna på servern mot en domän, vi kan ta domän.nu som exempel, så kan man med hjälp av en så kallad reverse proxy tilldela specifika adresser mot specifika portar på servern.

Exempel;

App 1 (Din webbsida): http://localhost:3000
App 2 (Ditt chattforum): http://localhost:4000

Ponera då att webbsidan använder domän.nu och chatten domän.nu/chatt, då kopplar man (med hjälp av proxyn) "/" till localhost:3000 och sedan "/chatt" mot localhost:4000. Det fungerar även att använda subdomäner om man vill.

Jag brukar använda Ubuntu Server för att hosta mina Node.js appar och använder då Nginx Reverse Proxy.

Det finns säkert andra metoder, men den här är en av de vanligaste. Jag vet att vissa webbhotell har stöd för hosting av Node.js, då kan det vara lite enklare att göra den kopplingen.

Grymt, tack för bra svar. Precis det är jag ute efter, skall googla runt lite och se om jag lyckas lösa detta! Tack