Ich entwickle eine Express-Web-Anwendung mit Knoten JS auf Google App Engine Flexible Umgebung (Managed VMs). Grundsätzlich habe ich nur eine statische HTML-Seite, die ich bedienen muss, da alles in Angular JS dynamisch geladen wird.Serve HTML-Datei mit NodeJS und serve-static
Beim Lesen Express best practices habe ich festgestellt, dass sie die Verwendung von res.sendFile, die genau das ist, was ich in der Entwicklung getan habe, entmutigen.
Da ich zur Produktion wechseln möchte, würde ich gerne static-serve wie vorgeschlagen verwenden, aber ich konnte keine Dokumentation finden, die erklärt, wie res.sendFile zu simulieren ist.
Unten finden Sie meinen aktuellen Code.
var app = express();
app.use(express.static('www'));
app.get('/', oauth2.required, function (req, res) {
// ...
res.sendFile(path.join(__dirname + '/www/dashboard.html'));
// ...
});
In der Produktion könnten Sie einen nginx-Server verwenden Sie statische Datei zu dienen und lassen Sie node.js Server den dynamischen Inhalt handhaben. Dies ist normalerweise die am besten optimierte Lösung, um die Anforderungen auf Ihrem node.js-Server zu reduzieren, der für statische Serverdateien langsamer ist als beispielsweise nginx. – Aaleks
Das Problem ist, dass ich auf App Engine Flexible laufen und ich weiß nicht, ob ich Zugriff auf Nginx-Konfiguration habe. – raz3r
Nie verwendet, aber es scheint, dass Sie nach schneller Google-Suche scheint es, dass es möglich ist, Ihre eigene nginx https://cloud.google.com/appengine/docs/flexible/ Infrastructure Customization und https: // Cloud zu installieren. google.com/solutions/https-load-balancing-nginx, aber die standardmäßige Express-Middleware für die Bereitstellung von statischen Dateien wird auch den Trick machen app.use ('/ public', express.static (Pfad.join (__ Verzeichnisname, './public '))); – Aaleks