I’ve gone with meteor-client-bundler, splitting the UI away from Meteor, and wholeheartedly recommend it for any UI that isn’t Blaze. I’m building my app out with Angular 4 + Ionic 3 and using Meteor solely as an API.
Meteor is a really poor choice for frontend compilation and the benefits of using a first-class CLI for your frontend are going to far outweigh the work of splitting the code away. Separating the actual hosting of your UI bundle from Meteor’s client output affords you a lot of flexibility with how you’re going to allocate resources. In addition, with Meteor’s heavy React focus I don’t really ever see any hope of high-quality Angular support. Meteor’s base functions work perfectly fine with MCB in Angular 4, and the angular-meteor package provides Observable wrappers for them for easy integration.
You basically just shove the entirety of your Meteor project into an api folder with the ability to import collections, shared code, etc. as needed from your Angular files. You just run your UI with angular-cli (ionic for that framework) and run the Meteor cli separately from its subfolder.
The Whatsapp2 tutorial provides some insight into this process, including setting up Webpack for the Ionic CLI. Angular CLI is quite different, but many of the procedures will be the same.