At a .NET Angular 5 application, as set up in Visual Studio 2017 with .NET Core 2, boot.browser.ts in the root of the ClientApp folder finds AppModule at components/app.module.browser.ts for the outermost module of an Angular 5 application while boot.server.ts in the root of the ClientApp folder finds a different AppModule at components/app.module.server.ts for the outermost module of an Angular 5 app. Both loop in as an import AppModuleShared at components/app.module.shared.ts and this file contains everything that is in common for the AppModule approaches and there is more in common than not in common. This is really an example of how to do pseudoinheritance with modules. From here both AppModule approaches find AppComponent at components/app/app.component.ts for a first component and from there one drills down to other components. The boot.broswer.ts file is for client-side loading and the boot.server.ts file for SSR for SEO. Page 56 of "ASP.NET Core 2 and Angular 5" by Valerio De Sanctis touches on this.