It is because when you build your angular application you build it for a base href.
All the resources etc. are relative to that base href.
If you edit your built index.html file's base href with the exact location where your angular distrubution files are, it will work.
For example I built my app like this:
ng build --prod --base-href /test/
The built index file:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Testtalha</title>
<base href="/test/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="styles.3ff695c00d717f2d2a11.css"></head>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.26209474bfa8dc87a77c.js"></script><script type="text/javascript" src="es2015-polyfills.bda95d5896422d031328.js" nomodule></script><script type="text/javascript" src="polyfills.8bbb231b43165d65d357.js"></script><script type="text/javascript" src="main.4eae417d78b7086fd00a.js"></script></body>
</html>
When I update the base href as I explained, it works on local browser. Just like below:
<base href="./">
EDIT: I've just realized that I got your question wrong. Check this answer, if your problem is to do with routing on local browser without any server. You need to get rid of push state and provide an appropriate base href: https://stackoverflow.com/a/45163344/11420760
But if you are telling that your application is not even opening up not even rendering some stuff then your case seems a bit complicated. There is a long thread here, a similar discussion: https://github.com/angular/angular/issues/13948
I suggest to create an empty test project and try the same with it maybe that way you can pinpoint what's causing the wierdness in your project.