Zum Hauptinhalt springen

Node.js

Die Deploio-Build-Umgebung nutzt das Paketo Node.js Buildpack auf dem Paketo-Stack und das Heroku Node.js Cloud Native Buildpack auf dem Heroku-Stack. Weitere Informationen findest du unter Buildpack-Stacks.

Beispiel-App

Eine einfache Next.js App zeigen wir in unserem Beispiele-Repository. Du kannst diese mit nctl deployen:

nctl create application nextjs \
--git-url=https://github.com/ninech/deploio-examples \
--git-sub-path=heroku-stack/nodejs/nextjs

Paketo-Stack-Konfiguration

Der Build-Prozess bietet einige Umgebungsvariablen, mit deren Hilfe du ihn an deinen Use-Case anpassen kannst. Eine Auflistung aller verfügbaren Variablen findest du im Abschnitt Anleitungen der Dokumentation.

Eine App in einem Unterverzeichnis erstellen

Um ein Unterverzeichnis zu definieren, welches als Root für die App dienen soll, kannst du die Build-Variable BP_NODE_PROJECT_PATH verwenden.

--build-env=BP_NODE_PROJECT_PATH="./node-app"

NextJS

In bestimmten Szenarien, wie bei der Verwendung des NextJS-Routers, sind jedoch zusätzliche Schritte erforderlich, um deine Applikation zu erstellen.

NODE_ENV

Bei Verwendung des Paketo-Stacks muss die Umgebungsvariable NODE_ENV explizit als production definiert werden, um einen erfolgreichen Build sicherzustellen. Diese Anforderung resultiert aus einem bestehenden Problem im Upstream, das nicht behoben werden kann.

nctl create app next --git-url=<url> --build-env=NODE_ENV="production" --env=NODE_ENV="production"

Bei Verwendung des Heroku-Stacks ist dies nicht erforderlich.