Veröffentlichung
Die Node.js-Veröffentlichung ist die Standardvorlage für die Analog Ausgabe der Produktions-Builds.
Beim Ausführen von npm run build
mit der Standardvorlage ist das Ergebnis ein Einstiegspunkt, der einen betriebsbereiten Node-Server startet.
Um den Standalone-Server zu starten, führe folgendes aus:
$ node dist/analog/server/index.mjs
Listening on http://localhost:3000
Umgebungsvariablen
Das Serververhalten kann mithilfe der folgenden Umgebungsvariablen angepasst werden:
NITRO_PORT
orPORT
(defaults to3000
)NITRO_HOST
orHOST
Eingebaute Voreinstellungen
Analog kann verschiedene Ausgabeformate erzeugen, die für verschiedene Hosting-Anbieter aus der gleichen Codebasis geeignet sind. Die Voreinstellung können die Bereitstellung können mithilfe einer Umgebungsvariablen oder der vite.config.ts
geändert werden.
Die Verwendung von Umgebungsvariablen wird für Veröffentlichung die durch CI/CD angestoßen werden empfohlen.
Beispiel: Verwendung von BUILD_PRESET
BUILD_PRESET=node-server
Beispiel: Verwendung von vite.config.ts
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [
analog({
nitro: {
preset: 'node-server',
},
}),
],
});
Veröffentlichung mit einem benutzerdefinierten URL-Präfix
Wenn mit einem benutzerdefinierte URL-Präfix wie https://domain.com/`basehref`/ veröffentlicht wird, müssen folgende Schritte durchgeführt werden, damit Server-seitiger Datenabruf, html markup and assets und dynamische API-Routen mit dem angegebenen basehref
korrekt funktionieren.
- Weise Angular an, wie es URLs erkennt und generiert. Erstelle eine neue Datei
app.config.env.ts
.
import { ApplicationConfig } from '@angular/core';
import { APP_BASE_HREF } from '@angular/common';
export const envConfig: ApplicationConfig = {
providers: [{ provide: APP_BASE_HREF, useValue: '/basehref/' }],
};
- Aktualisiere die Datei
app.config.ts
, um die neue Datei zu verwenden.
import { mergeApplicationConfig } from '@angular/core';
import { envConfig } from './app.config.env';
export const appConfig = mergeApplicationConfig(envConfig, {
....
});
- Im CI-Produktionsbuild
# sets the base url for server-side data fetching
export VITE_ANALOG_PUBLIC_BASE_URL="https://domain.com/basehref"
# prefixes all assets and html with /basehref/
npx nx run appname:build:production --baseHref='/basehref/'
- Gebe in Produktionscontainern das env-Flag
NITRO_APP_BASE_URL
an.
NITRO_APP_BASE_URL="/basehref/"
Gegeben sein sollte eine Datei vite.config.ts
ähnlich dieser:
plugins: [
analog({
apiPrefix: 'api',
Nitro stellt allen API-Routen das Präfix /basehref/api
voran.