| Thank you for your code, I will be definitely be referring to this as I build the base of my current project. Diving back into Node though, just so I can get my current portfolio up to par and job-ready, it makes me realize how broken this whole process is. It seems like bi-annually, either Node.js is changing, Webpack is changing, React is changing, or possibly all three have changed. What you learned just a year ago has been modified and 'updated', usually with configuration and API changes. This leads to a whole slew of new articles and tutorials and boilerplate GitHub projects being created, only to be somewhat legacy less than a year down the road. Then the plugins you have to learn, all of which separately might have configuration and API changes from one version to the next... Then you have to learn server side rendering because all of this is built for the client, so it's time to incorporate some weird page loading query string hacks to get that working... All of this feels like it's just one hack put on top of another, to try and achieve what browsers have been doing since the 90's, just without reloading the page. I think the updates to JavaScript in ES6 like arrow functions, classes, the spread operator, etc are great, but even this I could see going down the C++ route of just trying to add every single feature a programmer can think of to the language. This is why I prefer Go so heavily. The core language keywords and features have not really changed since its inception. I hope one day this can all be condensed and simplified, much like Go is doing for backend languages. |