Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run an Angular app on a Node server?

I would like to run my app with express on a Node server.

My server.js file:

var express = require('express');
var path = require('path');

var app = express();

app.get('/', (req, res) => {
   res.sendFile(path.resolve('dist/my-app/index.html'))
});

app.listen(80, () => {
  console.log('Server started!')
})

But when I'm trying to view my website on localhost nothing appears. Can you help me?

like image 380
M.Hol Avatar asked Apr 14 '26 21:04

M.Hol


1 Answers

Hope this would help you.

1) Run:

ng build --prod

This will create a dist folder. Used for production.

2) Run:

npm install --save express

To install express and save it as dependency in the project.

3) Create a file in root: ./server.js

4) Copy this code. Don't forget to modify with your name project

const express = require('express');
const http = require('http');
const path = require('path');

const app = express();

const port = process.env.PORT || 3001;

app.use(express.static(__dirname + '/dist/my-app-name'));

app.get('/*', (req, res) => res.sendFile(path.join(__dirname)));

const server = http.createServer(app);

server.listen(port, () => console.log(`App running on: http://localhost:${port}`));

5) To run the server.js file

node server.js
like image 66
Carlos Vallejo Avatar answered Apr 16 '26 15:04

Carlos Vallejo



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!