Hosting för Node.js är fortfarande inte särskilt utbrett, särskilt i tysktalande länder. Det amerikanska molnföretaget Heroku erbjuder en lösning här - och till och med gratis . Du märker alltid paradigmet "Bygg appar ... inte infrastruktur" och har fortfarande knappast några begränsningar. Som ett exempel implementerar vi ett litet cron-jobb baserat på PhantomJS , som skrotar en webbplats varje dag och skickar sidrubriken via e-post.
För att göra detta registrerar vi oss först gratis på https://signup.heroku.com/:
Efter den obligatoriska e-postbekräftelsen tilldelar vi ett säkert lösenord:
För att senare kunna använda gratis tillägg från Marketplace måste vi först verifiera vårt konto under https://heroku.com/verify genom att ange ett kreditkort (oroa dig inte, allt förblir gratis):
Resten sker nu exklusivt på kommandoraden. För detta behöver vi lokalt Node.js / npm , Git och Heroku CLI .
Vi loggar äntligen in på Heroku lokalt (en gång) på kommandoraden:
Först skapar vi en ny app baserad på en lämplig buildpack . I vårt exempel använder vi det officiella Node.js buildpack heroku-buildpack-nodejs.git:
1a01abaf4b9308c5714622396ccc4708
Nu skapar vi ett package.json för att installera de paket PhantomJS , CasperJS , SpookyJS och Nodemailer som krävs för vårt projekt:
1a01abaf4b9308c5714622396ccc4708
Den faktiska logiken finns i script.js:
1a01abaf4b9308c5714622396ccc4708
Vi testar först allt lokalt:
1a01abaf4b9308c5714622396ccc4708
Manuset extraherar en titel från en webbplats och skickar ett e-postmeddelande:
Vi driver nu allt på Heroku, vilket också utlöser byggprocessen:
1a01abaf4b9308c5714622396ccc4708
Om du vill trycka på kodändringar till Heroku senare trycker du helt enkelt igen. Å ena sidan kan vi nu kontrollera via SSH om allt körs på servern:
1a01abaf4b9308c5714622396ccc4708
Även här skickas e-postmeddelandet korrekt. Nu måste vi bara automatisera processen:
1a01abaf4b9308c5714622396ccc4708
Vi lägger till ett nytt skriptsamtal med "Lägg till nytt jobb":
Som ett test väljer vi var tionde minut som frekvens och sparar den:
Cronjob kommer nu att göra sitt jobb automatiskt i framtiden.