3
votes

I want to create app with nodeJS and angular2 as client side framework. I have created node project and in public folder create whole angular project with angular-cli. I have routes in nodeJS

// api routes
app.get('/api/getSomeData', function(req, res){
    res.json({'data': 'Dummy Data'});
});

// Redirect all other routes to angular index file
app.get('*', function(req, res){
    res.sendFile(__dirname + '/public/src/index.html');
});

I cant serve angulars index.html page. I dont know if i must build angular and how to do build.

1
Where are JS files? Are you also redirecting them to index.html? - Krzysztof Safjanowski
All angular files are in public folder of nodeJS - Nemanja

1 Answers

1
votes

I get it. After ng build command in angular root folder ( node/public ) and next line of code in nodes main file ( my is server.js ) all is good and angular is loaded as is should.

app.use(express.static(__dirname + '/public/dist'));

and node route

app.get('*', function(req, res){
    res.sendFile(__dirname + '/public/dist/index.html');
});