This post assumes that you are at least familiar with Webpack. If not, you might find this post helpful. It explains first why we stopped developing portlets and use a javascript frontend + rest services approach. It doesn’t cover the rest backend at all. Then it explains why we use Webpack as a task runner and compare it a bit to the Liferay NPM Bundler.
A little and simple demo...