However, if you’re like most developers, you will be quickly lured away from these tranquil waters. JSX, ES6, ES6 modules, hot reloading — pick your bait.
While there are discrete steps you can take to enable individual advantages, you’ll hit limitations with each sooner or later. For example, you can load babel in script tags and get JSX and ES6. But you’ll start running into problems when you want to break up your app across files and use the ES6 module pattern or roll out browser-less unit tests.