This is happening because your SPFx solution has an extension added to it.
Whenever you add SPFx extension to the solution, after running the yeoman generator, it will modify the config > serve.json file.
If you take a look at the serve.json file, you will find that it has a serveConfigurations section with pageUrl property whose value is by default ...
Yes, you can specify which gulp command to run as below:
gulp serve --config=helloworld
Its a new section which has been added to the serve.json config file in SPFx projects.
So, when you run gulp serve the default entry will be used and when you specify gulp serve --config=helloworld that entry will used and you will be redirected according to the page ...
I have changed my deployment steps:
gulp clean --ship
gulp build --ship
gulp bundle --ship
gulp package-solution --ship
This has resolved the excessive number of js files in the /temp/deploy folder and the size of the sppkg file. I also have not experienced the issues with the CDN while using this approach.
Besides the link mentioned in comments, you can also checkout the Angular Elements - hello world webpart which uses Angular 6 and SPFx.
It is based on Angular Elements functionality which packages Angular components as custom elements quite similar to web components.
This is a hello world sample, but it also demonstrates couple other webparts as well which ...
The .sppkg file packaged by the SPFx app (through build, bundle and package-solution gulp commands) is actually a simple archive you can unzip.
Its content can be broken down pretty easily (xml and resource files).
One thing you can also is configure a CDN in your project, so that packaging creates the .sppkg without any web resource (JS files, images and ...
This is what I've been doing:
Increment the version number in the package-solution.json file
Upload the new .sppkg and CDN files
Go to "Add an App" and click "find out why" link on your app and then get the latest version of the file