Auf einer grundlegenden Ebene müssten Sie den statischen Pfad für Ihre gebauten, statischen Angular-Dateien festlegen und wenn Sie Angular Routing verwenden, möchten Sie wahrscheinlich alle Anfragen an Ihre index.html
des Angular-Projekts richten, so dass Angular kann alle clientseitige Routen verwalten.
Beispiel: Festlegen des statischen Pfads für ein erstelltes Angular CLI-Projekt, das sich im Standardordner public
befindet, der von Express-Generator erstellt wurde. In diesem Beispiel wird dist
als Standardziel des Angular CLI-Projekts verwendet, wenn Sie ng build
ausführen.
app.use(express.static(path.join(__dirname, 'public', 'dist')));
Catch-all Weg, alle Anfragen zu lenken nicht von der Express-Anwendung Route Definitionen gefangen, wie RESTful Routen Rückkehr JSON-Daten oder ähnliches, um das Schrägprojekt index.html
:
// some routes
var users = require('./routes/users');
app.use('/users', users);
// other routes
var todos = require('./routes/todos');
app.use('/todos', todos);
// catch-all route
// needs to go AFTER all other express server route definitions
app.use('*', (req, res) => res.sendFile(path.join(__dirname, 'public', 'dist', 'index.html')));
Wenn Angular mit CLI, während der Entwicklung können Sie die Projekte separat unter Verwendung einer proxy ausführen.
Hoffentlich hilft das!