I have been working for hours on figuring out how to deploy my Angular 6 project on NodeJS Express server,
First, in development i use ng serve
which refer to localhost:4200
(default) and another one is Node Express for API (interacting with DB) on localhost:3000
. In production i want the Angular build to be served from that Node Express server too.
So what i did was:
- Setting up
<base href="/">
onindex.html
on Angular Project - Run
ng build --prod
it went 100% smooth, no errors. - Copy all files from
dist/myprojectname
on Angular to Node Express server directory underviews/
. - In
index.js
i add following linesapp.use(express.static(path.join(__dirname, '/views/')));
it got error something like this
Refused to apply style from 'http://localhost:3001/styles.a64e6aa0f6090e05d2190.css/' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
3localhost/:16 GET http://localhost:3001/runtime.16a329deb1d564eef6599.js/ net::ERR_ABORTED 404 (Not Found)
If i use app.use('/*', express.static(path.join(__dirname, '/views/')));
it will give following error:
Uncaught SyntaxError: Unexpected token <